@cosmicdrift/kumiko-renderer 0.368.0 → 0.370.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.
- package/dist/app/app-features-context.d.ts +1 -1
- package/dist/app/edit-prefill.d.ts +1 -1
- package/dist/app/header-actions.d.ts +1 -1
- package/dist/app/kumiko-screen.d.ts +4 -4
- package/dist/app/kumiko-screen.js +52 -4
- package/dist/app/list-empty-content.d.ts +2 -2
- package/dist/app/list-facets.d.ts +1 -1
- package/dist/app/nav.d.ts +1 -1
- package/dist/app/reference-facet-bridge.d.ts +1 -1
- package/dist/app/return-to.d.ts +2 -2
- package/dist/app/row-actions.d.ts +5 -5
- package/dist/app/secret-mint-body.d.ts +1 -1
- package/dist/app/use-embedded-screen.d.ts +1 -1
- package/dist/app/variable-chips.d.ts +3 -1
- package/dist/app/variable-chips.js +5 -2
- package/dist/app/visible-when.d.ts +1 -1
- package/dist/components/grid-cell-for-field.d.ts +1 -1
- package/dist/components/list-empty-state.d.ts +1 -1
- package/dist/components/related-list-section.js +1 -1
- package/dist/components/render-edit-action-button.d.ts +2 -2
- package/dist/components/render-edit.d.ts +2 -2
- package/dist/components/render-field.d.ts +1 -1
- package/dist/components/render-list.d.ts +3 -3
- package/dist/components/use-action-menu-items.d.ts +2 -2
- package/dist/context/dispatcher-context.d.ts +1 -1
- package/dist/hooks/use-list-url-state.d.ts +1 -1
- package/dist/hooks/use-report-step-complete.d.ts +1 -1
- package/dist/i18n-defaults.d.ts +1 -1
- package/dist/index.d.ts +86 -86
- package/dist/sort-by-accessor.d.ts +1 -1
- package/package.json +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import type { FeatureSchema } from "./feature-schema.
|
|
2
|
+
import type { FeatureSchema } from "./feature-schema.ts";
|
|
3
3
|
export type AppFeaturesProviderProps = {
|
|
4
4
|
readonly features: readonly FeatureSchema[];
|
|
5
5
|
readonly children: ReactNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EditFieldSpec } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
|
-
import type { CurrentUser } from "../current-user.
|
|
2
|
+
import type { CurrentUser } from "../current-user.tsx";
|
|
3
3
|
type NormalizedEditField = Exclude<EditFieldSpec, string>;
|
|
4
4
|
/** Calendar date (`YYYY-MM-DD`) of `now` in the given IANA zone. The en-CA
|
|
5
5
|
* locale is used only because it formats dates as year-month-day. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RenderEditAction } from "../components/render-edit-types.
|
|
1
|
+
import type { RenderEditAction } from "../components/render-edit-types.ts";
|
|
2
2
|
export declare function primaryHeaderAction(actions: readonly RenderEditAction[], preferredId?: string): RenderEditAction | undefined;
|
|
3
3
|
export type CompactHeaderPrimary = {
|
|
4
4
|
readonly action: RenderEditAction;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { ScreenDefinition } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
2
|
import type { FormValues, ListRowViewModel, Translate } from "@cosmicdrift/kumiko-headless";
|
|
3
3
|
import { type ReactNode } from "react";
|
|
4
|
-
import { type ListSort } from "../hooks/use-list-url-state.
|
|
5
|
-
import type { FeatureSchema } from "./feature-schema.
|
|
6
|
-
import { qualifyScreenId } from "./qualify-screen-id.
|
|
7
|
-
import { screenAccessAllows } from "./screen-access.
|
|
4
|
+
import { type ListSort } from "../hooks/use-list-url-state.ts";
|
|
5
|
+
import type { FeatureSchema } from "./feature-schema.ts";
|
|
6
|
+
import { qualifyScreenId } from "./qualify-screen-id.ts";
|
|
7
|
+
import { screenAccessAllows } from "./screen-access.ts";
|
|
8
8
|
export type KumikoScreenProps = {
|
|
9
9
|
readonly schema: FeatureSchema;
|
|
10
10
|
readonly qn: string;
|
|
@@ -2655,6 +2655,13 @@ function buildConfigEditDefaults(fields) {
|
|
|
2655
2655
|
}
|
|
2656
2656
|
return defaults;
|
|
2657
2657
|
}
|
|
2658
|
+
// A field hidden by its `visible` condition (a provider's settings while another
|
|
2659
|
+
// provider is picked) is not saved: the form saves what it shows.
|
|
2660
|
+
function hiddenLayoutFieldNames(screen, values) {
|
|
2661
|
+
return new Set(layoutEditFields(screen)
|
|
2662
|
+
.filter((spec) => spec.visible !== undefined && !evalFieldCondition(spec.visible, values))
|
|
2663
|
+
.map((spec) => spec.field));
|
|
2664
|
+
}
|
|
2658
2665
|
function isEmptyNumericFormValue(value) {
|
|
2659
2666
|
if (value === undefined || value === null || value === "")
|
|
2660
2667
|
return true;
|
|
@@ -2670,6 +2677,8 @@ function ConfigEditBody({ schema, screen, translate, }) {
|
|
|
2670
2677
|
// unsere Form-Field-Werte.
|
|
2671
2678
|
const valuesQuery = useQuery("config:query:values", {});
|
|
2672
2679
|
const cascadeQuery = useQuery("config:query:cascade", {});
|
|
2680
|
+
const secretKeys = screen.secretKeys;
|
|
2681
|
+
const secretsQuery = useQuery("secrets:query:list", {}, { enabled: secretKeys !== undefined });
|
|
2673
2682
|
const synthEntity = useMemo(() => synthesizeConfigEditEntity(screen.fields), [screen.fields]);
|
|
2674
2683
|
const synthScreen = useMemo(() => synthesizeConfigEditScreen(screen), [screen]);
|
|
2675
2684
|
const boundsSchema = useMemo(() => buildConfigEditSchema(screen.fields), [screen.fields]);
|
|
@@ -2681,9 +2690,17 @@ function ConfigEditBody({ schema, screen, translate, }) {
|
|
|
2681
2690
|
const initial = useMemo(() => {
|
|
2682
2691
|
if (valuesQuery.data === null)
|
|
2683
2692
|
return null;
|
|
2693
|
+
if (secretKeys !== undefined && secretsQuery.data === null)
|
|
2694
|
+
return null;
|
|
2695
|
+
const storedSecretKeys = new Set((secretsQuery.data ?? []).map((row) => row.key));
|
|
2684
2696
|
const out = {};
|
|
2685
2697
|
const defaults = buildConfigEditDefaults(screen.fields);
|
|
2686
2698
|
for (const [shortName, fieldDef] of Object.entries(screen.fields)) {
|
|
2699
|
+
const secretKey = secretKeys?.[shortName];
|
|
2700
|
+
if (secretKey !== undefined) {
|
|
2701
|
+
out[shortName] = storedSecretKeys.has(secretKey) ? true : null;
|
|
2702
|
+
continue;
|
|
2703
|
+
}
|
|
2687
2704
|
const qualified = screen.configKeys[shortName];
|
|
2688
2705
|
if (qualified === undefined) {
|
|
2689
2706
|
// Author hat ein Field deklariert ohne Mapping — nimm Default.
|
|
@@ -2719,7 +2736,14 @@ function ConfigEditBody({ schema, screen, translate, }) {
|
|
|
2719
2736
|
}
|
|
2720
2737
|
}
|
|
2721
2738
|
return out;
|
|
2722
|
-
}, [
|
|
2739
|
+
}, [
|
|
2740
|
+
valuesQuery.data,
|
|
2741
|
+
secretsQuery.data,
|
|
2742
|
+
secretKeys,
|
|
2743
|
+
screen.fields,
|
|
2744
|
+
screen.configKeys,
|
|
2745
|
+
screen.scope,
|
|
2746
|
+
]);
|
|
2723
2747
|
// Cascade-Lookup: qualifiedKey → ConfigCascade für die
|
|
2724
2748
|
// Cascade-Anzeige unter jedem Feld. Defensive `levels`-Shape-Check
|
|
2725
2749
|
// damit fremde Query-Mocks (z.B. configEdit-Unit-Tests die nur
|
|
@@ -2749,7 +2773,23 @@ function ConfigEditBody({ schema, screen, translate, }) {
|
|
|
2749
2773
|
const customSubmit = useCallback(async (snapshot) => {
|
|
2750
2774
|
const commands = [];
|
|
2751
2775
|
const commandFieldNames = [];
|
|
2776
|
+
const hiddenFieldNames = hiddenLayoutFieldNames(synthScreen, snapshot.values);
|
|
2752
2777
|
for (const [shortName, value] of Object.entries(snapshot.changes)) {
|
|
2778
|
+
if (hiddenFieldNames.has(shortName))
|
|
2779
|
+
continue;
|
|
2780
|
+
const secretKey = secretKeys?.[shortName];
|
|
2781
|
+
if (secretKey !== undefined) {
|
|
2782
|
+
// Same wire shape as a writeOnly config field: null removes, a string replaces.
|
|
2783
|
+
if (value === null) {
|
|
2784
|
+
commandFieldNames.push(shortName);
|
|
2785
|
+
commands.push({ type: "secrets:write:delete", payload: { key: secretKey } });
|
|
2786
|
+
}
|
|
2787
|
+
else if (typeof value === "string" && value.trim() !== "") {
|
|
2788
|
+
commandFieldNames.push(shortName);
|
|
2789
|
+
commands.push({ type: "secrets:write:set", payload: { key: secretKey, value } });
|
|
2790
|
+
}
|
|
2791
|
+
continue;
|
|
2792
|
+
}
|
|
2753
2793
|
const qualified = screen.configKeys[shortName];
|
|
2754
2794
|
if (qualified === undefined)
|
|
2755
2795
|
continue;
|
|
@@ -2821,20 +2861,28 @@ function ConfigEditBody({ schema, screen, translate, }) {
|
|
|
2821
2861
|
// bleibt die Anzeige stale bis Reload — gleiche refetch-Calls wie onReset.
|
|
2822
2862
|
// allSettled: der Write ist schon committed, ein gescheitertes Refetch
|
|
2823
2863
|
// (stale Anzeige) darf das Erfolgsergebnis nicht in einen Fehler kippen.
|
|
2824
|
-
await Promise.allSettled([
|
|
2864
|
+
await Promise.allSettled([
|
|
2865
|
+
valuesQuery.refetch?.(),
|
|
2866
|
+
cascadeQuery.refetch?.(),
|
|
2867
|
+
...(secretKeys !== undefined ? [secretsQuery.refetch?.()] : []),
|
|
2868
|
+
]);
|
|
2825
2869
|
return { validationBlocked: false, isSuccess: true, data: undefined };
|
|
2826
2870
|
}, [
|
|
2827
2871
|
dispatcher,
|
|
2872
|
+
synthScreen,
|
|
2873
|
+
secretKeys,
|
|
2828
2874
|
screen.configKeys,
|
|
2829
2875
|
screen.fields,
|
|
2830
2876
|
screen.scope,
|
|
2831
2877
|
valuesQuery.refetch,
|
|
2832
2878
|
cascadeQuery.refetch,
|
|
2879
|
+
secretsQuery.refetch,
|
|
2833
2880
|
]);
|
|
2834
2881
|
if (valuesQuery.loading && valuesQuery.data === null)
|
|
2835
2882
|
return _jsx(QueryLoadingBanner, {});
|
|
2836
|
-
|
|
2837
|
-
|
|
2883
|
+
const failedQuery = valuesQuery.error ? valuesQuery : secretsQuery.error ? secretsQuery : null;
|
|
2884
|
+
if (failedQuery?.error) {
|
|
2885
|
+
return (_jsx(QueryErrorBanner, { error: failedQuery.error, translate: effectiveTranslate, onRetry: failedQuery.refetch }));
|
|
2838
2886
|
}
|
|
2839
2887
|
if (initial === null)
|
|
2840
2888
|
return _jsx(QueryLoadingBanner, {});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ListEmptyStateSpec } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
2
|
import type { Translate } from "@cosmicdrift/kumiko-headless";
|
|
3
|
-
import type { ListEmptyStateContent } from "../components/list-empty-state.
|
|
4
|
-
import { buildRecordActions } from "./row-actions.
|
|
3
|
+
import type { ListEmptyStateContent } from "../components/list-empty-state.tsx";
|
|
4
|
+
import { buildRecordActions } from "./row-actions.ts";
|
|
5
5
|
type ActionBindings = Pick<Parameters<typeof buildRecordActions>[0], "nav" | "host" | "dispatcher" | "openDrawer" | "onWriteSuccess">;
|
|
6
6
|
export declare function useListEmptyContent(spec: ListEmptyStateSpec | undefined, translate: Translate, bindings: ActionBindings): ListEmptyStateContent | undefined;
|
|
7
7
|
export declare function isListNarrowed(search: string, filters: Readonly<Record<string, readonly string[]>>, defaultFilters?: Readonly<Record<string, readonly string[]>>): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EntityListFacetConfig, ListFacetSpec } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
2
|
import type { Translate } from "@cosmicdrift/kumiko-headless";
|
|
3
|
-
import type { DataTableFacet, DataTableFacetChip } from "../primitives.
|
|
3
|
+
import type { DataTableFacet, DataTableFacetChip } from "../primitives.tsx";
|
|
4
4
|
export type ResolvedFacetSpec = {
|
|
5
5
|
readonly field: string;
|
|
6
6
|
readonly type: "select" | "boolean" | "reference";
|
package/dist/app/nav.d.ts
CHANGED
package/dist/app/return-to.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import type { FeatureSchema } from "./feature-schema.
|
|
3
|
-
import { type NavApi, type NavTarget, type ScreenTarget } from "./nav.
|
|
2
|
+
import type { FeatureSchema } from "./feature-schema.ts";
|
|
3
|
+
import { type NavApi, type NavTarget, type ScreenTarget } from "./nav.tsx";
|
|
4
4
|
export declare const RETURN_TO_PARAM = "returnTo";
|
|
5
5
|
export type ReturnHost = {
|
|
6
6
|
readonly screenId: string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { EntityEditScreenDefinition, RelatedListToolbarAction, RowAction, RowActionDrawer, RowActionNavigate, RowActionWriteHandler, RowFieldExtractor, ToolbarAction } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
2
|
import type { Dispatcher, ListRowViewModel, Translate } from "@cosmicdrift/kumiko-headless";
|
|
3
|
-
import type { RenderEditAction } from "../components/render-edit-types.
|
|
4
|
-
import type { ToolbarActionButton } from "../components/render-list.
|
|
5
|
-
import type { DataTableRowAction } from "../primitives.
|
|
6
|
-
import type { NavApi } from "./nav.
|
|
7
|
-
import { type ReturnHost } from "./return-to.
|
|
3
|
+
import type { RenderEditAction } from "../components/render-edit-types.ts";
|
|
4
|
+
import type { ToolbarActionButton } from "../components/render-list.tsx";
|
|
5
|
+
import type { DataTableRowAction } from "../primitives.tsx";
|
|
6
|
+
import type { NavApi } from "./nav.tsx";
|
|
7
|
+
import { type ReturnHost } from "./return-to.tsx";
|
|
8
8
|
export declare function buildDefaultEditRowAction(editScreen: EntityEditScreenDefinition | undefined, idColumn?: string): RowActionNavigate | undefined;
|
|
9
9
|
export declare function evalRowExtractor(extractor: RowFieldExtractor, row: Record<string, unknown>): Record<string, unknown>;
|
|
10
10
|
export declare function isWriteHandlerRowAction(action: RowAction): action is RowActionWriteHandler;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SecretMintScreenDefinition } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
2
|
import type { Translate } from "@cosmicdrift/kumiko-headless";
|
|
3
3
|
import { type ReactNode } from "react";
|
|
4
|
-
import type { FeatureSchema } from "./feature-schema.
|
|
4
|
+
import type { FeatureSchema } from "./feature-schema.ts";
|
|
5
5
|
export type SecretMintBodyProps = {
|
|
6
6
|
readonly schema: FeatureSchema;
|
|
7
7
|
readonly screen: SecretMintScreenDefinition;
|
|
@@ -3,5 +3,7 @@ export type VariableChipsProps = {
|
|
|
3
3
|
readonly variables: readonly string[];
|
|
4
4
|
readonly onInsert: (name: string) => void;
|
|
5
5
|
readonly disabled?: boolean;
|
|
6
|
+
/** Display text per variable name; a named chip keeps the raw name as tooltip. */
|
|
7
|
+
readonly labels?: Readonly<Record<string, string>>;
|
|
6
8
|
};
|
|
7
|
-
export declare function VariableChips({ variables, onInsert, disabled }: VariableChipsProps): ReactNode;
|
|
9
|
+
export declare function VariableChips({ variables, onInsert, disabled, labels, }: VariableChipsProps): ReactNode;
|
|
@@ -9,8 +9,11 @@ import { usePrimitives } from "../primitives.js";
|
|
|
9
9
|
// No wrapping element: @cosmicdrift/kumiko-renderer is DOM-free (native impls
|
|
10
10
|
// have no <div>), and layout is a platform concern anyway — the caller
|
|
11
11
|
// (PlainContentEditor et al.) places these buttons in its own container.
|
|
12
|
-
export function VariableChips({ variables, onInsert, disabled }) {
|
|
12
|
+
export function VariableChips({ variables, onInsert, disabled, labels, }) {
|
|
13
13
|
const { Button } = usePrimitives();
|
|
14
14
|
const t = useTranslation();
|
|
15
|
-
return (_jsx(Fragment, { children: variables.map((name) =>
|
|
15
|
+
return (_jsx(Fragment, { children: variables.map((name) => {
|
|
16
|
+
const label = labels !== undefined && Object.hasOwn(labels, name) ? labels[name] : undefined;
|
|
17
|
+
return (_jsx(Button, { type: "button", variant: "secondary", size: "sm", disabled: disabled, onClick: () => onInsert(name), ariaLabel: t("kumiko.contentEditor.insertVariable", { name: label ?? name }), ...(label !== undefined && { title: name }), children: label ?? `{{${name}}}` }, name));
|
|
18
|
+
}) }));
|
|
16
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DashboardPanelVisibility } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
|
-
import type { UseQueryResult } from "../hooks/use-query.
|
|
2
|
+
import type { UseQueryResult } from "../hooks/use-query.ts";
|
|
3
3
|
export type VisibleWhenVerdict = "loading" | "visible" | "hidden" | "error";
|
|
4
4
|
export declare function evalVisibleWhen(visibleWhen: DashboardPanelVisibility, result: UseQueryResult<Readonly<Record<string, unknown>>> | undefined): VisibleWhenVerdict;
|
|
5
5
|
export declare function evalVisibleWhenAfterShown(visibleWhen: DashboardPanelVisibility, result: UseQueryResult<Readonly<Record<string, unknown>>> | undefined, wasShown: boolean): VisibleWhenVerdict;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EditFieldViewModel, FieldIssue } from "@cosmicdrift/kumiko-headless";
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
|
-
import type { FieldCellWidth, FieldProps, usePrimitives } from "../primitives.
|
|
3
|
+
import type { FieldCellWidth, FieldProps, usePrimitives } from "../primitives.tsx";
|
|
4
4
|
export type GridCellForFieldProps = {
|
|
5
5
|
readonly field: EditFieldViewModel;
|
|
6
6
|
readonly columns: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import type { RenderEditAction } from "./render-edit-types.
|
|
2
|
+
import type { RenderEditAction } from "./render-edit-types.ts";
|
|
3
3
|
export type ListEmptyStateContent = {
|
|
4
4
|
readonly title: string;
|
|
5
5
|
readonly description?: string;
|
|
@@ -4,7 +4,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
|
4
4
|
import { useAppFeatures } from "../app/app-features-context.js";
|
|
5
5
|
import { buildFilterFacets, buildFilterPayload, mergeReferenceFacetOptions, resolveProjectionFacetSpecs, } from "../app/list-facets.js";
|
|
6
6
|
import { useNav } from "../app/nav.js";
|
|
7
|
-
import { ReferenceFacetBridges } from "../app/reference-facet-bridge.js";
|
|
7
|
+
import { ReferenceFacetBridges, } from "../app/reference-facet-bridge.js";
|
|
8
8
|
import { navigateWithReturnTo, useReturnHost } from "../app/return-to.js";
|
|
9
9
|
import { buildDefaultEditRowAction, buildProjectionRowActions, buildProjectionToolbarActions, buildRecordActions, runProjectionRowNavigate, } from "../app/row-actions.js";
|
|
10
10
|
import { findEditScreenFor } from "../app/screen-access.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
import type { usePrimitives } from "../primitives.
|
|
3
|
-
import type { RenderEditAction } from "./render-edit-types.
|
|
2
|
+
import type { usePrimitives } from "../primitives.tsx";
|
|
3
|
+
import type { RenderEditAction } from "./render-edit-types.ts";
|
|
4
4
|
export declare function needsActionConfirm(action: Pick<RenderEditAction, "confirm" | "confirmRequired" | "style">): boolean;
|
|
5
5
|
export declare function RenderEditActionConfirmDialog({ action, open, onOpenChange, onConfirm, Dialog, }: {
|
|
6
6
|
readonly action: RenderEditAction;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { FormValues } from "@cosmicdrift/kumiko-headless";
|
|
2
|
-
import type { RenderEditProps } from "./render-edit-types.
|
|
3
|
-
export type { RenderEditAction, RenderEditChangeState, RenderEditControls, RenderEditProps, } from "./render-edit-types.
|
|
2
|
+
import type { RenderEditProps } from "./render-edit-types.ts";
|
|
3
|
+
export type { RenderEditAction, RenderEditChangeState, RenderEditControls, RenderEditProps, } from "./render-edit-types.ts";
|
|
4
4
|
import { type ReactNode } from "react";
|
|
5
5
|
export declare const PATCH_DRAFT_SAVE_DEBOUNCE_MS = 500;
|
|
6
6
|
/** A record title is a non-blank string; anything else leaves the screen title alone. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type EditFieldViewModel, type FieldIssue } from "@cosmicdrift/kumiko-headless";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
|
-
import { type FieldProps } from "../primitives.
|
|
3
|
+
import { type FieldProps } from "../primitives.tsx";
|
|
4
4
|
export type RenderFieldProps = {
|
|
5
5
|
readonly field: EditFieldViewModel;
|
|
6
6
|
readonly issues?: readonly FieldIssue[];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { EntityDefinition, EntityListScreenDefinition, IconKey } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
2
|
import type { ListRowViewModel, Translate } from "@cosmicdrift/kumiko-headless";
|
|
3
3
|
import { type ReactNode } from "react";
|
|
4
|
-
import type { ListSort } from "../hooks/use-list-url-state.
|
|
5
|
-
import { type DataTableDateRangeFacet, type DataTableFacet, type DataTableProps, type DataTableRowAction, type DataTableRowActionMode, type DataTableRowGrouping } from "../primitives.
|
|
6
|
-
import { type ListEmptyStateContent } from "./list-empty-state.
|
|
4
|
+
import type { ListSort } from "../hooks/use-list-url-state.ts";
|
|
5
|
+
import { type DataTableDateRangeFacet, type DataTableFacet, type DataTableProps, type DataTableRowAction, type DataTableRowActionMode, type DataTableRowGrouping } from "../primitives.tsx";
|
|
6
|
+
import { type ListEmptyStateContent } from "./list-empty-state.tsx";
|
|
7
7
|
export type RenderListProps = {
|
|
8
8
|
readonly screen: EntityListScreenDefinition;
|
|
9
9
|
readonly entity: EntityDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import type { ActionMenuItemSpec, usePrimitives } from "../primitives.
|
|
3
|
-
import type { RenderEditAction } from "./render-edit-types.
|
|
2
|
+
import type { ActionMenuItemSpec, usePrimitives } from "../primitives.tsx";
|
|
3
|
+
import type { RenderEditAction } from "./render-edit-types.ts";
|
|
4
4
|
export declare function useActionMenuItems({ Dialog, onError, }: {
|
|
5
5
|
readonly Dialog: ReturnType<typeof usePrimitives>["Dialog"];
|
|
6
6
|
readonly onError: (text: string | null) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Dispatcher, DispatcherStatus } from "@cosmicdrift/kumiko-headless";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
|
-
import { type QueryPools } from "./query-pool.
|
|
3
|
+
import { type QueryPools } from "./query-pool.ts";
|
|
4
4
|
export type DispatcherProviderProps = {
|
|
5
5
|
readonly dispatcher: Dispatcher;
|
|
6
6
|
readonly children: ReactNode;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DataTableSort, DataTableSortDir } from "../primitives.
|
|
1
|
+
import type { DataTableSort, DataTableSortDir } from "../primitives.tsx";
|
|
2
2
|
export declare const NO_FILTER_URL_VALUE = "~";
|
|
3
3
|
export type ListSortDir = DataTableSortDir;
|
|
4
4
|
export type ListSort = DataTableSort;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { ExtensionSectionProps } from "../app/extension-sections.
|
|
1
|
+
import type { ExtensionSectionProps } from "../app/extension-sections.tsx";
|
|
2
2
|
export declare function useReportStepComplete(reportStepComplete: ExtensionSectionProps["reportStepComplete"], complete: boolean | null): void;
|
package/dist/i18n-defaults.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { TranslationsByLocale } from "./i18n.
|
|
1
|
+
import type { TranslationsByLocale } from "./i18n.tsx";
|
|
2
2
|
export declare const kumikoDefaultTranslations: TranslationsByLocale;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
1
|
export { type Formality, formalLocaleTag } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
2
|
-
export { synthesizeActionFormEntity, synthesizeActionFormScreen } from "./app/action-form-shim.
|
|
3
|
-
export type { AppFeaturesProviderProps } from "./app/app-features-context.
|
|
4
|
-
export { AppFeaturesProvider, useAppFeatures } from "./app/app-features-context.
|
|
5
|
-
export type { ColumnRendererComponent, ColumnRendererProps, ColumnRenderersMap, ColumnRenderersProviderProps, } from "./app/column-renderers.
|
|
6
|
-
export { ColumnRenderersProvider, useColumnRenderer } from "./app/column-renderers.
|
|
7
|
-
export type { ContentEditorComponent, ContentEditorProps, ContentEditorsMap, ContentEditorsProviderProps, } from "./app/content-editors.
|
|
8
|
-
export { CONTENT_EDITOR_ELEMENT_ID, ContentEditorsProvider, TextareaContentEditor, useContentEditor, } from "./app/content-editors.
|
|
9
|
-
export type { ContentPreviewProps } from "./app/content-preview.
|
|
10
|
-
export { ContentPreview, substituteVariables } from "./app/content-preview.
|
|
11
|
-
export type { CustomScreensMap, CustomScreensProviderProps } from "./app/custom-screens.
|
|
12
|
-
export { CustomScreensProvider, useCustomScreenComponent } from "./app/custom-screens.
|
|
13
|
-
export type { DashboardBodyProps, DashboardBodyProviderProps } from "./app/dashboard-body.
|
|
14
|
-
export { DashboardBodyProvider, useDashboardBody } from "./app/dashboard-body.
|
|
15
|
-
export type { ExtensionFormRegistry, ExtensionFormSubmitHandler, ExtensionSubmitContext, ExtensionSubmitResult, } from "./app/extension-form-submit.
|
|
16
|
-
export { ExtensionFormRegistryProvider, useExtensionFormSubmit, } from "./app/extension-form-submit.
|
|
17
|
-
export type { ExtensionSectionComponent, ExtensionSectionProps, ExtensionSectionsMap, ExtensionSectionsProviderProps, } from "./app/extension-sections.
|
|
18
|
-
export { ExtensionSectionsProvider, extensionSectionName, useExtensionSectionComponent, } from "./app/extension-sections.
|
|
19
|
-
export type { AppSchema, FeatureSchema, QualifiedContentCollection, WorkspaceSchema, } from "./app/feature-schema.
|
|
20
|
-
export { isAppSchema, toAppSchema } from "./app/feature-schema.
|
|
21
|
-
export type { KumikoScreenProps } from "./app/kumiko-screen.
|
|
22
|
-
export { KumikoScreen, qualifyNavId, qualifyScreenId, ScreenMissingState, } from "./app/kumiko-screen.
|
|
23
|
-
export type { DateRangeBound, DateRangeValue, ResolvedDateRangeFacet } from "./app/list-facets.
|
|
24
|
-
export { buildDateRangePayload, clampDateRange, readDateRange, resolveDateRangeFacets, } from "./app/list-facets.
|
|
25
|
-
export type { NavApi, NavigateOptions, NavProviderProps, NavRoute, NavTarget, ObjectTarget, ScreenTarget, } from "./app/nav.
|
|
26
|
-
export { formatPath, hasDetailScreen, NavProvider, parsePath, resolveTarget, useNav, useNavigateWithInitialValues, } from "./app/nav.
|
|
27
|
-
export { lastSegment } from "./app/qn.
|
|
28
|
-
export type { ReturnHost, ReturnTo } from "./app/return-to.
|
|
29
|
-
export { navigateToReturn, navigateToReturnOr, navigateWithReturnTo, RETURN_TO_PARAM, ReturnHostProvider, resolveReturnTarget, splitReturnTo, useReturnHost, useReturnTarget, } from "./app/return-to.
|
|
30
|
-
export type { EmbeddedScreenTarget } from "./app/use-embedded-screen.
|
|
31
|
-
export { useEmbeddedScreen } from "./app/use-embedded-screen.
|
|
32
|
-
export type { VariableChipsProps } from "./app/variable-chips.
|
|
33
|
-
export { VariableChips } from "./app/variable-chips.
|
|
34
|
-
export { evalVisibleWhen, type VisibleWhenVerdict } from "./app/visible-when.
|
|
35
|
-
export { dispatcherErrorText, WriteFailedError } from "./app/write-failed-error.
|
|
36
|
-
export type { ErrorBoundaryFallbackProps, ErrorBoundaryProps, } from "./components/error-boundary.
|
|
37
|
-
export { ErrorBoundary } from "./components/error-boundary.
|
|
38
|
-
export { RelatedListSection } from "./components/related-list-section.
|
|
39
|
-
export type { RenderEditAction, RenderEditChangeState, RenderEditControls, RenderEditProps, } from "./components/render-edit.
|
|
40
|
-
export { RenderEdit } from "./components/render-edit.
|
|
41
|
-
export { needsActionConfirm } from "./components/render-edit-action-button.
|
|
42
|
-
export type { RenderFieldProps } from "./components/render-field.
|
|
43
|
-
export { RenderField } from "./components/render-field.
|
|
44
|
-
export type { RenderListProps } from "./components/render-list.
|
|
45
|
-
export { RenderList } from "./components/render-list.
|
|
46
|
-
export type { DispatcherProviderProps } from "./context/dispatcher-context.
|
|
47
|
-
export { DispatcherProvider, useDispatcher, useDispatcherStatus, useOptionalDispatcher, } from "./context/dispatcher-context.
|
|
48
|
-
export type { DraftStorage, DraftStorageProviderProps } from "./context/draft-storage-context.
|
|
49
|
-
export { DraftStorageProvider, useDraftStorage } from "./context/draft-storage-context.
|
|
50
|
-
export { EmbeddedScreenProvider, useIsEmbeddedScreen } from "./context/embedded-screen-context.
|
|
51
|
-
export type { UserRolesProviderProps } from "./context/user-roles-context.
|
|
52
|
-
export { UserRolesProvider, useUserRoles } from "./context/user-roles-context.
|
|
53
|
-
export type { CurrentUser } from "./current-user.
|
|
54
|
-
export { CurrentUserProvider, useOptionalCurrentUser } from "./current-user.
|
|
55
|
-
export { formatWhen } from "./format-when.
|
|
56
|
-
export { REFERENCE_COMBOBOX_LIMIT, REFERENCE_LIST_LOOKUP_LIMIT, REFERENCE_SEARCH_DEBOUNCE_MS, } from "./hooks/reference-limits.
|
|
57
|
-
export type { AiTextActionState, AiTextMode, AiTextRewriteStyle, AiTextRunPayload, AiTextRunResult, AiTextUsage, UseAiTextActionResult, UseCompletionResult, } from "./hooks/use-ai-text.
|
|
58
|
-
export { AI_TEXT_RUN_QN, useAiTextAction, useCompletion } from "./hooks/use-ai-text.
|
|
59
|
-
export type { UseDisclosureResult } from "./hooks/use-disclosure.
|
|
60
|
-
export { useDisclosure } from "./hooks/use-disclosure.
|
|
61
|
-
export type { UseFormOptions, UseFormResult } from "./hooks/use-form.
|
|
62
|
-
export { useForm } from "./hooks/use-form.
|
|
63
|
-
export type { ListSort, ListSortDir, ListUrlState, ListUrlStateApi, } from "./hooks/use-list-url-state.
|
|
64
|
-
export { listFilterUrlKey, useListUrlState } from "./hooks/use-list-url-state.
|
|
65
|
-
export type { UseMutationResult } from "./hooks/use-mutation.
|
|
66
|
-
export { useMutation } from "./hooks/use-mutation.
|
|
67
|
-
export type { UseQueryOptions, UseQueryResult } from "./hooks/use-query.
|
|
68
|
-
export { entityFromQueryType, useQuery } from "./hooks/use-query.
|
|
69
|
-
export { useReportStepComplete } from "./hooks/use-report-step-complete.
|
|
70
|
-
export { useStore, useStoreSelector } from "./hooks/use-store.
|
|
71
|
-
export type { StreamStatus, UseStreamHandlerOptions, UseStreamHandlerResult, } from "./hooks/use-stream-handler.
|
|
72
|
-
export { useStreamHandler } from "./hooks/use-stream-handler.
|
|
73
|
-
export type { LocaleProviderProps, TranslationBundle, TranslationsByKey, TranslationsByLocale, } from "./i18n.
|
|
74
|
-
export { createStaticLocaleResolver, FormalityProvider, LocaleProvider, mergeTranslations, translationsByKeyFromLocales, translationsByLocaleFromKeys, useFormality, useLocale, useOptionalLocale, useOptionalTranslation, useTranslation, } from "./i18n.
|
|
75
|
-
export { kumikoDefaultTranslations } from "./i18n-defaults.
|
|
76
|
-
export { InsideDrawerProvider, useInsideDrawer } from "./inside-drawer.
|
|
77
|
-
export { PageHeaderCompactProvider, PageHeaderSlotAvailableProvider, usePageHeaderCompact, usePageHeaderSlotAvailable, } from "./page-header-slot.
|
|
78
|
-
export type { ActionMenuItemSpec, ActionOverflowMenuProps, AppPrimitives, BannerProps, ButtonProps, CardOptions, CardProps, CardSlots, CopyButtonProps, CorePrimitives, DataTableDateRangeFacet, DataTableFacet, DataTableFacetChip, DataTableProps, DataTableRowAction, DataTableRowActionMode, DataTableRowGrouping, DataTableSort, DataTableSortDir, DialogProps, DrawerProps, EmbeddedListCellType, EmbeddedListColumn, EmbeddedListInputProps, EmbeddedListTotal, FieldCellWidth, FieldProps, FillContainerProps, FooterActionMarker, FooterActionRole, FormProps, FormSectionNavItem, FormWidth, GridCellProps, GridProps, HeadingProps, InputProps, JsonViewProps, LightboxImage, LightboxProps, LinkProps, MetricBandProps, MetricProps, ModalProps, PageHeaderProps, PickedFile, PrimitivesProviderProps, PrimitivesRegistry, ProgressProps, ProgressTone, PromoPanelAction, PromoPanelProps, RuntimeRenderer, SecretRevealProps, SecretRevealValue, SectionProps, ShareButtonProps, StatusBadgeProps, StatusTone, StepBarProps, StickyActionBarProps, StickyPrimaryActionMarker, TabsProps, TextProps, TrailingInputAction, WizardStepGroupProps, } from "./primitives.
|
|
79
|
-
export { FOOTER_ACTION_ROLE_PROP, NARROW_LABEL_PROP, PrimitivesProvider, STICKY_PRIMARY_ACTION_PROP, shouldRenderActionsIconOnly, statusToneForOptionTone, statusToneForValue, useOptionalPrimitives, usePrimitives, } from "./primitives.
|
|
80
|
-
export type { SessionEndedSignal, SessionEndedSignalProviderProps, } from "./session/session-ended.
|
|
81
|
-
export { createSessionEndedSignal, isSessionEndedError, SESSION_ENDED_ERROR_CODES, SessionEndedSignalProvider, useSessionEndedSignal, withSessionEndedDetection, } from "./session/session-ended.
|
|
82
|
-
export { buildWhatsAppShareUrl } from "./share-links.
|
|
83
|
-
export { sortByAccessor } from "./sort-by-accessor.
|
|
84
|
-
export type { LiveEvent, LiveEventSubscriber, LiveEventsProviderProps } from "./sse/live-events.
|
|
85
|
-
export { LiveEventsProvider, useLiveEvents } from "./sse/live-events.
|
|
86
|
-
export type { AppTokens, ColorTokens, CoreTokens, FontTokens, RadiusTokens, ShadowTokens, SpacingTokens, ThemeMode, ThemePreference, Tokens, TokensApi, TokensProviderProps, } from "./tokens.
|
|
87
|
-
export { cssVarTokens, TokensProvider, useTokenController, useTokens } from "./tokens.
|
|
2
|
+
export { synthesizeActionFormEntity, synthesizeActionFormScreen } from "./app/action-form-shim.ts";
|
|
3
|
+
export type { AppFeaturesProviderProps } from "./app/app-features-context.tsx";
|
|
4
|
+
export { AppFeaturesProvider, useAppFeatures } from "./app/app-features-context.tsx";
|
|
5
|
+
export type { ColumnRendererComponent, ColumnRendererProps, ColumnRenderersMap, ColumnRenderersProviderProps, } from "./app/column-renderers.tsx";
|
|
6
|
+
export { ColumnRenderersProvider, useColumnRenderer } from "./app/column-renderers.tsx";
|
|
7
|
+
export type { ContentEditorComponent, ContentEditorProps, ContentEditorsMap, ContentEditorsProviderProps, } from "./app/content-editors.tsx";
|
|
8
|
+
export { CONTENT_EDITOR_ELEMENT_ID, ContentEditorsProvider, TextareaContentEditor, useContentEditor, } from "./app/content-editors.tsx";
|
|
9
|
+
export type { ContentPreviewProps } from "./app/content-preview.tsx";
|
|
10
|
+
export { ContentPreview, substituteVariables } from "./app/content-preview.tsx";
|
|
11
|
+
export type { CustomScreensMap, CustomScreensProviderProps } from "./app/custom-screens.tsx";
|
|
12
|
+
export { CustomScreensProvider, useCustomScreenComponent } from "./app/custom-screens.tsx";
|
|
13
|
+
export type { DashboardBodyProps, DashboardBodyProviderProps } from "./app/dashboard-body.tsx";
|
|
14
|
+
export { DashboardBodyProvider, useDashboardBody } from "./app/dashboard-body.tsx";
|
|
15
|
+
export type { ExtensionFormRegistry, ExtensionFormSubmitHandler, ExtensionSubmitContext, ExtensionSubmitResult, } from "./app/extension-form-submit.tsx";
|
|
16
|
+
export { ExtensionFormRegistryProvider, useExtensionFormSubmit, } from "./app/extension-form-submit.tsx";
|
|
17
|
+
export type { ExtensionSectionComponent, ExtensionSectionProps, ExtensionSectionsMap, ExtensionSectionsProviderProps, } from "./app/extension-sections.tsx";
|
|
18
|
+
export { ExtensionSectionsProvider, extensionSectionName, useExtensionSectionComponent, } from "./app/extension-sections.tsx";
|
|
19
|
+
export type { AppSchema, FeatureSchema, QualifiedContentCollection, WorkspaceSchema, } from "./app/feature-schema.ts";
|
|
20
|
+
export { isAppSchema, toAppSchema } from "./app/feature-schema.ts";
|
|
21
|
+
export type { KumikoScreenProps } from "./app/kumiko-screen.tsx";
|
|
22
|
+
export { KumikoScreen, qualifyNavId, qualifyScreenId, ScreenMissingState, } from "./app/kumiko-screen.tsx";
|
|
23
|
+
export type { DateRangeBound, DateRangeValue, ResolvedDateRangeFacet } from "./app/list-facets.ts";
|
|
24
|
+
export { buildDateRangePayload, clampDateRange, readDateRange, resolveDateRangeFacets, } from "./app/list-facets.ts";
|
|
25
|
+
export type { NavApi, NavigateOptions, NavProviderProps, NavRoute, NavTarget, ObjectTarget, ScreenTarget, } from "./app/nav.tsx";
|
|
26
|
+
export { formatPath, hasDetailScreen, NavProvider, parsePath, resolveTarget, useNav, useNavigateWithInitialValues, } from "./app/nav.tsx";
|
|
27
|
+
export { lastSegment } from "./app/qn.ts";
|
|
28
|
+
export type { ReturnHost, ReturnTo } from "./app/return-to.tsx";
|
|
29
|
+
export { navigateToReturn, navigateToReturnOr, navigateWithReturnTo, RETURN_TO_PARAM, ReturnHostProvider, resolveReturnTarget, splitReturnTo, useReturnHost, useReturnTarget, } from "./app/return-to.tsx";
|
|
30
|
+
export type { EmbeddedScreenTarget } from "./app/use-embedded-screen.ts";
|
|
31
|
+
export { useEmbeddedScreen } from "./app/use-embedded-screen.ts";
|
|
32
|
+
export type { VariableChipsProps } from "./app/variable-chips.tsx";
|
|
33
|
+
export { VariableChips } from "./app/variable-chips.tsx";
|
|
34
|
+
export { evalVisibleWhen, type VisibleWhenVerdict } from "./app/visible-when.ts";
|
|
35
|
+
export { dispatcherErrorText, WriteFailedError } from "./app/write-failed-error.ts";
|
|
36
|
+
export type { ErrorBoundaryFallbackProps, ErrorBoundaryProps, } from "./components/error-boundary.tsx";
|
|
37
|
+
export { ErrorBoundary } from "./components/error-boundary.tsx";
|
|
38
|
+
export { RelatedListSection } from "./components/related-list-section.tsx";
|
|
39
|
+
export type { RenderEditAction, RenderEditChangeState, RenderEditControls, RenderEditProps, } from "./components/render-edit.tsx";
|
|
40
|
+
export { RenderEdit } from "./components/render-edit.tsx";
|
|
41
|
+
export { needsActionConfirm } from "./components/render-edit-action-button.tsx";
|
|
42
|
+
export type { RenderFieldProps } from "./components/render-field.tsx";
|
|
43
|
+
export { RenderField } from "./components/render-field.tsx";
|
|
44
|
+
export type { RenderListProps } from "./components/render-list.tsx";
|
|
45
|
+
export { RenderList } from "./components/render-list.tsx";
|
|
46
|
+
export type { DispatcherProviderProps } from "./context/dispatcher-context.tsx";
|
|
47
|
+
export { DispatcherProvider, useDispatcher, useDispatcherStatus, useOptionalDispatcher, } from "./context/dispatcher-context.tsx";
|
|
48
|
+
export type { DraftStorage, DraftStorageProviderProps } from "./context/draft-storage-context.tsx";
|
|
49
|
+
export { DraftStorageProvider, useDraftStorage } from "./context/draft-storage-context.tsx";
|
|
50
|
+
export { EmbeddedScreenProvider, useIsEmbeddedScreen } from "./context/embedded-screen-context.tsx";
|
|
51
|
+
export type { UserRolesProviderProps } from "./context/user-roles-context.tsx";
|
|
52
|
+
export { UserRolesProvider, useUserRoles } from "./context/user-roles-context.tsx";
|
|
53
|
+
export type { CurrentUser } from "./current-user.tsx";
|
|
54
|
+
export { CurrentUserProvider, useOptionalCurrentUser } from "./current-user.tsx";
|
|
55
|
+
export { formatWhen } from "./format-when.ts";
|
|
56
|
+
export { REFERENCE_COMBOBOX_LIMIT, REFERENCE_LIST_LOOKUP_LIMIT, REFERENCE_SEARCH_DEBOUNCE_MS, } from "./hooks/reference-limits.ts";
|
|
57
|
+
export type { AiTextActionState, AiTextMode, AiTextRewriteStyle, AiTextRunPayload, AiTextRunResult, AiTextUsage, UseAiTextActionResult, UseCompletionResult, } from "./hooks/use-ai-text.ts";
|
|
58
|
+
export { AI_TEXT_RUN_QN, useAiTextAction, useCompletion } from "./hooks/use-ai-text.ts";
|
|
59
|
+
export type { UseDisclosureResult } from "./hooks/use-disclosure.ts";
|
|
60
|
+
export { useDisclosure } from "./hooks/use-disclosure.ts";
|
|
61
|
+
export type { UseFormOptions, UseFormResult } from "./hooks/use-form.ts";
|
|
62
|
+
export { useForm } from "./hooks/use-form.ts";
|
|
63
|
+
export type { ListSort, ListSortDir, ListUrlState, ListUrlStateApi, } from "./hooks/use-list-url-state.ts";
|
|
64
|
+
export { listFilterUrlKey, useListUrlState } from "./hooks/use-list-url-state.ts";
|
|
65
|
+
export type { UseMutationResult } from "./hooks/use-mutation.ts";
|
|
66
|
+
export { useMutation } from "./hooks/use-mutation.ts";
|
|
67
|
+
export type { UseQueryOptions, UseQueryResult } from "./hooks/use-query.ts";
|
|
68
|
+
export { entityFromQueryType, useQuery } from "./hooks/use-query.ts";
|
|
69
|
+
export { useReportStepComplete } from "./hooks/use-report-step-complete.ts";
|
|
70
|
+
export { useStore, useStoreSelector } from "./hooks/use-store.ts";
|
|
71
|
+
export type { StreamStatus, UseStreamHandlerOptions, UseStreamHandlerResult, } from "./hooks/use-stream-handler.ts";
|
|
72
|
+
export { useStreamHandler } from "./hooks/use-stream-handler.ts";
|
|
73
|
+
export type { LocaleProviderProps, TranslationBundle, TranslationsByKey, TranslationsByLocale, } from "./i18n.tsx";
|
|
74
|
+
export { createStaticLocaleResolver, FormalityProvider, LocaleProvider, mergeTranslations, translationsByKeyFromLocales, translationsByLocaleFromKeys, useFormality, useLocale, useOptionalLocale, useOptionalTranslation, useTranslation, } from "./i18n.tsx";
|
|
75
|
+
export { kumikoDefaultTranslations } from "./i18n-defaults.ts";
|
|
76
|
+
export { InsideDrawerProvider, useInsideDrawer } from "./inside-drawer.ts";
|
|
77
|
+
export { PageHeaderCompactProvider, PageHeaderSlotAvailableProvider, usePageHeaderCompact, usePageHeaderSlotAvailable, } from "./page-header-slot.ts";
|
|
78
|
+
export type { ActionMenuItemSpec, ActionOverflowMenuProps, AppPrimitives, BannerProps, ButtonProps, CardOptions, CardProps, CardSlots, CopyButtonProps, CorePrimitives, DataTableDateRangeFacet, DataTableFacet, DataTableFacetChip, DataTableProps, DataTableRowAction, DataTableRowActionMode, DataTableRowGrouping, DataTableSort, DataTableSortDir, DialogProps, DrawerProps, EmbeddedListCellType, EmbeddedListColumn, EmbeddedListInputProps, EmbeddedListTotal, FieldCellWidth, FieldProps, FillContainerProps, FooterActionMarker, FooterActionRole, FormProps, FormSectionNavItem, FormWidth, GridCellProps, GridProps, HeadingProps, InputProps, JsonViewProps, LightboxImage, LightboxProps, LinkProps, MetricBandProps, MetricProps, ModalProps, PageHeaderProps, PickedFile, PrimitivesProviderProps, PrimitivesRegistry, ProgressProps, ProgressTone, PromoPanelAction, PromoPanelProps, RuntimeRenderer, SecretRevealProps, SecretRevealValue, SectionProps, ShareButtonProps, StatusBadgeProps, StatusTone, StepBarProps, StickyActionBarProps, StickyPrimaryActionMarker, TabsProps, TextProps, TrailingInputAction, WizardStepGroupProps, } from "./primitives.tsx";
|
|
79
|
+
export { FOOTER_ACTION_ROLE_PROP, NARROW_LABEL_PROP, PrimitivesProvider, STICKY_PRIMARY_ACTION_PROP, shouldRenderActionsIconOnly, statusToneForOptionTone, statusToneForValue, useOptionalPrimitives, usePrimitives, } from "./primitives.tsx";
|
|
80
|
+
export type { SessionEndedSignal, SessionEndedSignalProviderProps, } from "./session/session-ended.tsx";
|
|
81
|
+
export { createSessionEndedSignal, isSessionEndedError, SESSION_ENDED_ERROR_CODES, SessionEndedSignalProvider, useSessionEndedSignal, withSessionEndedDetection, } from "./session/session-ended.tsx";
|
|
82
|
+
export { buildWhatsAppShareUrl } from "./share-links.ts";
|
|
83
|
+
export { sortByAccessor } from "./sort-by-accessor.ts";
|
|
84
|
+
export type { LiveEvent, LiveEventSubscriber, LiveEventsProviderProps, } from "./sse/live-events.tsx";
|
|
85
|
+
export { LiveEventsProvider, useLiveEvents } from "./sse/live-events.tsx";
|
|
86
|
+
export type { AppTokens, ColorTokens, CoreTokens, FontTokens, RadiusTokens, ShadowTokens, SpacingTokens, ThemeMode, ThemePreference, Tokens, TokensApi, TokensProviderProps, } from "./tokens.tsx";
|
|
87
|
+
export { cssVarTokens, TokensProvider, useTokenController, useTokens } from "./tokens.tsx";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DataTableSort } from "./primitives.
|
|
1
|
+
import type { DataTableSort } from "./primitives.tsx";
|
|
2
2
|
type SortValue = string | number | null;
|
|
3
3
|
/** Sorts `rows` by a `DataTableSort` against a field->accessor map. Unknown
|
|
4
4
|
* field or `sort === null` returns `rows` unchanged (no-op, not an error —
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-renderer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.370.0",
|
|
4
4
|
"description": "Platform-agnostic React renderer for Kumiko screens. Contains the shared logic — primitives-contract, hooks, KumikoScreen, navigation & SSE abstractions — that any platform-specific renderer (web, native) composes. No DOM, no EventSource, no react-dom.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@cosmicdrift/kumiko-framework": "0.
|
|
19
|
-
"@cosmicdrift/kumiko-headless": "0.
|
|
20
|
-
"@cosmicdrift/kumiko-types": "0.
|
|
18
|
+
"@cosmicdrift/kumiko-framework": "0.370.0",
|
|
19
|
+
"@cosmicdrift/kumiko-headless": "0.370.0",
|
|
20
|
+
"@cosmicdrift/kumiko-types": "0.370.0",
|
|
21
21
|
"react": "^19.2.6",
|
|
22
22
|
"temporal-polyfill": "^0.3.2",
|
|
23
23
|
"zod": "^4.4.3"
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@types/react-dom": "^19.2.3",
|
|
29
29
|
"jsdom": "^29.1.1",
|
|
30
30
|
"react-dom": "^19.2.6",
|
|
31
|
-
"@cosmicdrift/kumiko-locale-de": "0.
|
|
31
|
+
"@cosmicdrift/kumiko-locale-de": "0.370.0"
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|