@nivaro/react 0.1.260 → 0.1.262
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/full.css +1 -1
- package/dist/index.d.ts +68 -11
- package/dist/index.js +36008 -33229
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -251,14 +251,24 @@ export declare interface ApiRequestLogFilters {
|
|
|
251
251
|
* same-origin fetch, which is what the admin SPA needs — it is served BY the
|
|
252
252
|
* API in production and proxied to it in dev, and has no provider at its root.
|
|
253
253
|
*/
|
|
254
|
-
export declare function ApiUpdateBanner({ appName, fetchVersion }: {
|
|
254
|
+
export declare function ApiUpdateBanner({ appName, fetchVersion, releaseNotesUrl }: {
|
|
255
255
|
appName?: string;
|
|
256
256
|
fetchVersion?: () => Promise<ApiVersionInfo | null>;
|
|
257
|
+
/**
|
|
258
|
+
* "What changed" link (#62): given the update notice (served version +
|
|
259
|
+
* the version this tab loaded against), return the release-notes URL —
|
|
260
|
+
* the admin passes `/changelog?since=<from>&to=<version>`. Null hides it.
|
|
261
|
+
* Rendered as a plain anchor on purpose: following it is a full navigation,
|
|
262
|
+
* which lands the reader on the NEW build's notes.
|
|
263
|
+
*/
|
|
264
|
+
releaseNotesUrl?: (info: ApiVersionInfo) => string | null;
|
|
257
265
|
}): JSX.Element | null;
|
|
258
266
|
|
|
259
267
|
export declare interface ApiVersionInfo {
|
|
260
268
|
version: string;
|
|
261
269
|
environment?: string;
|
|
270
|
+
/** The version this tab loaded against — set on an update notice only. */
|
|
271
|
+
from?: string | null;
|
|
262
272
|
}
|
|
263
273
|
|
|
264
274
|
export declare function applyValidationRule(rule: FormValidationRule_2, value: unknown, label: string, record?: Record<string, unknown>): string | null;
|
|
@@ -1755,6 +1765,12 @@ declare interface GridSpreadConfig {
|
|
|
1755
1765
|
/** Fill only empty/zero targets (default true); false = overwrite all. */
|
|
1756
1766
|
only_empty?: boolean;
|
|
1757
1767
|
format?: 'currency' | 'number';
|
|
1768
|
+
/** Shapes offered beside the button (default all: even, front-loaded,
|
|
1769
|
+
* back-loaded, and "like the previous row" when one exists). */
|
|
1770
|
+
presets?: SpreadPreset[];
|
|
1771
|
+
/** Also offer a grid-level spread over every row's empty targets
|
|
1772
|
+
* (default true). */
|
|
1773
|
+
across_rows?: boolean;
|
|
1758
1774
|
}
|
|
1759
1775
|
|
|
1760
1776
|
/**
|
|
@@ -1873,6 +1889,40 @@ export declare interface ImportDefinition {
|
|
|
1873
1889
|
receipt?: string | null;
|
|
1874
1890
|
}
|
|
1875
1891
|
|
|
1892
|
+
declare interface ImportDryRun {
|
|
1893
|
+
created: number;
|
|
1894
|
+
updated: number;
|
|
1895
|
+
unchanged: number;
|
|
1896
|
+
skipped: Record<string, number>;
|
|
1897
|
+
failed: number;
|
|
1898
|
+
log: string;
|
|
1899
|
+
samples?: {
|
|
1900
|
+
creates: Array<{
|
|
1901
|
+
key: string;
|
|
1902
|
+
values: Record<string, unknown>;
|
|
1903
|
+
}>;
|
|
1904
|
+
updates: Array<{
|
|
1905
|
+
key: string;
|
|
1906
|
+
id: unknown;
|
|
1907
|
+
changes: Array<{
|
|
1908
|
+
field: string;
|
|
1909
|
+
from: unknown;
|
|
1910
|
+
to: unknown;
|
|
1911
|
+
}>;
|
|
1912
|
+
}>;
|
|
1913
|
+
skipped_rows: Array<{
|
|
1914
|
+
row: number;
|
|
1915
|
+
key: string | null;
|
|
1916
|
+
reason: string;
|
|
1917
|
+
}>;
|
|
1918
|
+
would_create_lookups: Array<{
|
|
1919
|
+
column: string;
|
|
1920
|
+
collection: string;
|
|
1921
|
+
values: string[];
|
|
1922
|
+
}>;
|
|
1923
|
+
};
|
|
1924
|
+
}
|
|
1925
|
+
|
|
1876
1926
|
export declare function ImportFromFileButton({ collection, templateFilter, getLabel, onParsed, compact }: {
|
|
1877
1927
|
collection: string;
|
|
1878
1928
|
templateFilter?: (t: ImportTemplateSummary) => boolean;
|
|
@@ -1930,6 +1980,8 @@ export declare interface ImportPreview {
|
|
|
1930
1980
|
missing_columns: string[];
|
|
1931
1981
|
/** Pre-flight report — errors here block queueing server-side too. */
|
|
1932
1982
|
validation?: ImportValidationReport;
|
|
1983
|
+
/** Service-mode definitions only: what a run would do, nothing written. */
|
|
1984
|
+
dry_run?: ImportDryRun | null;
|
|
1933
1985
|
}
|
|
1934
1986
|
|
|
1935
1987
|
/** Emitted by the worker on the `import:progress` socket event. */
|
|
@@ -2019,13 +2071,6 @@ declare interface ImportValidationReport {
|
|
|
2019
2071
|
truncated: boolean;
|
|
2020
2072
|
}
|
|
2021
2073
|
|
|
2022
|
-
/**
|
|
2023
|
-
* Inbound integrations — every caller that is not a person's browser session,
|
|
2024
|
-
* as cards, plus the request log scoped to the picked one. This is the
|
|
2025
|
-
* dedicated "external API logs" view: partner file pushes, legacy GraphQL
|
|
2026
|
-
* writes, named API keys — who called, how often, what failed, and the exact
|
|
2027
|
-
* response body the caller got back.
|
|
2028
|
-
*/
|
|
2029
2074
|
export declare function InboundCallersView({ hours: initialHours }: {
|
|
2030
2075
|
hours?: number;
|
|
2031
2076
|
}): JSX.Element;
|
|
@@ -2120,7 +2165,7 @@ export declare function InlineTableField({ relatedCollection, manyField, parentI
|
|
|
2120
2165
|
};
|
|
2121
2166
|
prefillParentId?: string;
|
|
2122
2167
|
parentFieldKey?: string;
|
|
2123
|
-
}): JSX.Element;
|
|
2168
|
+
}): React_2.JSX.Element;
|
|
2124
2169
|
|
|
2125
2170
|
declare interface InputBinding {
|
|
2126
2171
|
key: string;
|
|
@@ -2821,7 +2866,7 @@ export declare function NotificationAnalyticsView({ className }: {
|
|
|
2821
2866
|
* click-through routing via the shared notification-target resolver. Needs
|
|
2822
2867
|
* `<NivaroProvider>`.
|
|
2823
2868
|
*/
|
|
2824
|
-
export declare function NotificationBell({ routes, onNavigate, app, subscribe, buttonClassName, panelClassName, beforeList, extraBadge, mailLogUrl, renderTrigger, allPath, onActionError, panelPlacement }: NotificationBellProps): JSX.Element;
|
|
2869
|
+
export declare function NotificationBell({ routes, onNavigate, app, subscribe, buttonClassName, panelClassName, beforeList, extraBadge, mailLogUrl, renderTrigger, allPath, subscriptionsPath, onActionError, panelPlacement }: NotificationBellProps): JSX.Element;
|
|
2825
2870
|
|
|
2826
2871
|
export declare interface NotificationBellProps {
|
|
2827
2872
|
/** Where each notification kind lands in the host app. */
|
|
@@ -2857,6 +2902,8 @@ export declare interface NotificationBellProps {
|
|
|
2857
2902
|
}) => ReactNode;
|
|
2858
2903
|
/** Path of the full notifications page — renders a "See all" footer link. */
|
|
2859
2904
|
allPath?: string | null;
|
|
2905
|
+
/** Path of the subscriptions page — a watch's "Why me?" offers a Manage link. */
|
|
2906
|
+
subscriptionsPath?: string | null;
|
|
2860
2907
|
/** Called with an error message when an inline action fails. */
|
|
2861
2908
|
onActionError?: (message: string) => void;
|
|
2862
2909
|
/** Where the panel opens relative to the trigger. 'below' (default) keeps
|
|
@@ -2866,13 +2913,15 @@ export declare interface NotificationBellProps {
|
|
|
2866
2913
|
panelPlacement?: 'below' | 'right';
|
|
2867
2914
|
}
|
|
2868
2915
|
|
|
2869
|
-
export declare function NotificationCenterView({ routes, onNavigate, app, mailLogUrl, onNotice, onError, className }: NotificationCenterViewProps): JSX.Element;
|
|
2916
|
+
export declare function NotificationCenterView({ routes, onNavigate, app, mailLogUrl, subscriptionsPath, onNotice, onError, className }: NotificationCenterViewProps): JSX.Element;
|
|
2870
2917
|
|
|
2871
2918
|
export declare interface NotificationCenterViewProps {
|
|
2872
2919
|
routes: NotificationRouteMap;
|
|
2873
2920
|
onNavigate: (path: string) => void;
|
|
2874
2921
|
app?: 'portal' | 'admin';
|
|
2875
2922
|
mailLogUrl?: (mailLogId: number) => string | null;
|
|
2923
|
+
/** Host route of the subscriptions page (a watch's "Why me?" links there). */
|
|
2924
|
+
subscriptionsPath?: string | null;
|
|
2876
2925
|
/** Toast hooks — hosts wire their own toaster. */
|
|
2877
2926
|
onNotice?: (message: string) => void;
|
|
2878
2927
|
onError?: (message: string) => void;
|
|
@@ -3832,6 +3881,12 @@ export declare interface RealtimeAdapter {
|
|
|
3832
3881
|
|
|
3833
3882
|
export declare const RealtimeContext: Context<RealtimeAdapter | null>;
|
|
3834
3883
|
|
|
3884
|
+
export declare function RecentRecordsRail({ limit, title, className }: {
|
|
3885
|
+
limit?: number;
|
|
3886
|
+
title?: string;
|
|
3887
|
+
className?: string;
|
|
3888
|
+
}): JSX.Element;
|
|
3889
|
+
|
|
3835
3890
|
export declare function RecordChatActions({ collection, itemDraft, compact }: {
|
|
3836
3891
|
collection: string;
|
|
3837
3892
|
itemDraft: Record<string, unknown>;
|
|
@@ -4580,6 +4635,8 @@ export declare type SlotRendererProps = {
|
|
|
4580
4635
|
|
|
4581
4636
|
export declare function splitMessageTokens(text: string, entityPattern: string): MessageToken[];
|
|
4582
4637
|
|
|
4638
|
+
declare type SpreadPreset = 'even' | 'front' | 'back' | 'shape';
|
|
4639
|
+
|
|
4583
4640
|
/**
|
|
4584
4641
|
* Idempotent; safe from an effect that runs more than once, and safe to call
|
|
4585
4642
|
* from several components — only the first call arms the timer.
|