@cosmicdrift/kumiko-types 0.413.1 → 0.414.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/access-predicates.d.ts +1 -0
- package/dist/access-predicates.js +3 -3
- package/dist/config.d.ts +1 -2
- package/dist/db-connection.d.ts +0 -3
- package/dist/define-handler.d.ts +1 -1
- package/dist/delivery-attempt-types.d.ts +22 -0
- package/dist/delivery-attempt-types.js +31 -0
- package/dist/entity-table-meta-types.d.ts +2 -0
- package/dist/event-store-executor-types.d.ts +4 -1
- package/dist/feature.d.ts +1 -0
- package/dist/fields.d.ts +2 -0
- package/dist/handler-context-facets.d.ts +5 -2
- package/dist/handler-context-services.d.ts +3 -1
- package/dist/handlers.d.ts +16 -15
- package/dist/handlers.js +4 -32
- package/dist/hooks.d.ts +1 -0
- package/dist/identifiers.d.ts +7 -0
- package/dist/identifiers.js +20 -0
- package/dist/minor-units.d.ts +3 -0
- package/dist/minor-units.js +11 -0
- package/dist/named-list-filters.d.ts +26 -0
- package/dist/observability/provider.d.ts +0 -2
- package/dist/screen-dashboard.d.ts +139 -22
- package/dist/screen-entity-edit.d.ts +2 -0
- package/dist/screen-entity-list.d.ts +75 -19
- package/dist/screen-list-table.d.ts +23 -3
- package/dist/screen-list-table.js +8 -1
- package/dist/screen-projection.d.ts +48 -4
- package/dist/screen-record-guidance.d.ts +88 -0
- package/dist/screen-record-guidance.js +1 -0
- package/dist/screen.d.ts +9 -5
- package/dist/screen.js +1 -1
- package/package.json +9 -1
- package/src/changes.json +6 -0
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import type { SelectOptionTone } from "./fields.ts";
|
|
2
2
|
import type { AccessRule, AgentScreenHints } from "./handlers.ts";
|
|
3
|
-
import type { NamedListFilterRef } from "./named-list-filters.ts";
|
|
3
|
+
import type { NamedFilterFacetOptions, NamedListFilterRef } from "./named-list-filters.ts";
|
|
4
4
|
import type { NavIconKey } from "./nav-icon.ts";
|
|
5
5
|
import type { FormatSpec, PlatformComponent, ScreenNavSugar, ScreenSlots } from "./screen.ts";
|
|
6
6
|
import type { DashboardStatTone, ScreenVisibility } from "./screen-dashboard.ts";
|
|
7
7
|
import type { EditLayout, ListEmptyStateSpec } from "./screen-entity-edit.ts";
|
|
8
|
-
import type { ListColumnSpec, ListPaginationMode, ListSortSpec, RowAction, RowActionMode, RowFieldExtractor, ScreenFilter, ToolbarAction } from "./screen-entity-list.ts";
|
|
8
|
+
import type { ListColumnSpec, ListPaginationMode, ListRowDecoration, ListSortOption, ListSortSpec, RowAction, RowActionMode, RowFieldExtractor, ScreenFilter, ToolbarAction } from "./screen-entity-list.ts";
|
|
9
9
|
import type { ScreenFallback } from "./screen-fallback.ts";
|
|
10
10
|
import type { ListBulkAction } from "./screen-list-bulk.ts";
|
|
11
|
-
import type { ListTableOptions } from "./screen-list-table.ts";
|
|
11
|
+
import type { ListNarrowFacets, ListTableOptions } from "./screen-list-table.ts";
|
|
12
|
+
import type { RecordBannerSpec, RecordBreadcrumbSpec, RecordProgressSpec, RecordStepsSpec, RecordSummarySpec } from "./screen-record-guidance.ts";
|
|
12
13
|
export type ListFacetSpec = {
|
|
13
14
|
readonly field: string;
|
|
14
15
|
readonly type: "select";
|
|
@@ -71,23 +72,36 @@ export type ProjectionListScreenDefinition = {
|
|
|
71
72
|
readonly fallback?: ScreenFallback;
|
|
72
73
|
readonly query: string;
|
|
73
74
|
readonly columns: readonly ListColumnSpec[];
|
|
75
|
+
/** Row field holding a SelectOptionTone; the row is toned like relatedList `rowTone`, other values leave it untoned. */
|
|
76
|
+
readonly rowToneField?: string;
|
|
77
|
+
/** Computed row fields from an app query, merged into the query rows; see `ListRowDecoration`. */
|
|
78
|
+
readonly rowDecoration?: ListRowDecoration;
|
|
74
79
|
readonly rowRenderer?: PlatformComponent;
|
|
75
|
-
readonly cardRenderer?: PlatformComponent;
|
|
76
80
|
readonly rowActions?: readonly RowAction[];
|
|
77
81
|
/** Layout of the row-action column — see `RowActionMode`. */
|
|
78
82
|
readonly rowActionMode?: RowActionMode;
|
|
79
83
|
/** Bulk actions over checkbox-selected rows, each pointing at a writeHandler row action. Adds a checkbox column and a selection bar; without it the list has no checkboxes. */
|
|
80
84
|
readonly bulkActions?: readonly ListBulkAction[];
|
|
81
85
|
readonly toolbarActions?: readonly ToolbarAction[];
|
|
86
|
+
/** "toolbar": from `md` up the `toolbarActions` end the filter row, after the "Sorted by" select, instead of standing in the page header. Below `md` they stay in the header. Default "header". Needs `toolbarActions`. */
|
|
87
|
+
readonly toolbarActionsPlacement?: "header" | "toolbar";
|
|
88
|
+
/** From `sm` up, a "Sorted by" select in the filter row (same options as the narrow sort control); column headers stay sortable. Needs `sortOptions`. */
|
|
89
|
+
readonly toolbarSort?: true;
|
|
90
|
+
/** "pills": below `sm` the select facets render as rounded pill triggers with a stronger border; from `sm` up unchanged. */
|
|
91
|
+
readonly narrowFacets?: ListNarrowFacets;
|
|
82
92
|
readonly pagination?: ListPaginationMode;
|
|
83
93
|
readonly pageSize?: number;
|
|
84
94
|
/** Opt-in table behaviour: remembered state, reset, column picker, density. */
|
|
85
95
|
readonly table?: ListTableOptions;
|
|
86
96
|
readonly defaultSort?: ListSortSpec;
|
|
97
|
+
/** Choices of the "Sorted by" select in the toolbar (and the narrow-width sort control) instead of one entry per column; every field must be sortable. */
|
|
98
|
+
readonly sortOptions?: readonly ListSortOption[];
|
|
87
99
|
/** Replaces the default empty-list title/hint; the create button stays when the list can create. */
|
|
88
100
|
readonly emptyState?: ListEmptyStateSpec;
|
|
89
101
|
/** i18n key for the primary create button label (default `kumiko.actions.create`). */
|
|
90
102
|
readonly createLabel?: string;
|
|
103
|
+
/** i18n key of the plural noun for the list size in the phone sort line ('{count}' pluralised, e.g. "contract"/"contracts"). Default `<feature>:entity:<entity>:noun`, which a projectionList has no entity for. */
|
|
104
|
+
readonly itemNounKey?: string;
|
|
91
105
|
/** i18n key for the search field placeholder (default `kumiko.list.search-placeholder`). */
|
|
92
106
|
readonly searchPlaceholder?: string;
|
|
93
107
|
readonly searchable?: boolean;
|
|
@@ -116,6 +130,8 @@ export type ProjectionListScreenDefinition = {
|
|
|
116
130
|
/** Named work-queue rules the bound query understands: its Zod schema must have a
|
|
117
131
|
* `namedFilter` key (boot-checked) and is sent the selected id in every list and count query. */
|
|
118
132
|
readonly namedFilters?: readonly NamedListFilterRef[];
|
|
133
|
+
/** Presentation of `namedFilters` in the toolbar; needs `namedFilters`. */
|
|
134
|
+
readonly namedFilterFacet?: NamedFilterFacetOptions;
|
|
119
135
|
readonly slots?: ScreenSlots;
|
|
120
136
|
readonly access?: AccessRule;
|
|
121
137
|
};
|
|
@@ -127,9 +143,13 @@ export type RecordHeaderSubtitlePart = string | {
|
|
|
127
143
|
};
|
|
128
144
|
export type RecordHeaderSpec = {
|
|
129
145
|
readonly title: string;
|
|
146
|
+
/** Field holding a short title for the desktop top bar ("Orders › SO-10482 ● processing"); the body keeps the full `title` as the h1. Default: the title. */
|
|
147
|
+
readonly shortTitle?: string;
|
|
130
148
|
/** Field name, or several parts (field name or `{ field, navigate }`)
|
|
131
149
|
* joined by a separator; parts with an empty value are dropped. */
|
|
132
150
|
readonly subtitle?: string | readonly RecordHeaderSubtitlePart[];
|
|
151
|
+
/** Field holding a plain-text subtitle shown instead of `subtitle` below `sm` (e.g. "Main St 12, Berlin · 3 rooms"). */
|
|
152
|
+
readonly narrowSubtitle?: string;
|
|
133
153
|
readonly status?: string;
|
|
134
154
|
/** Formats the badge text (typically `enumOption` with a `keyPrefix`); tones still resolve on the raw value. Needs `status`. Without it, the `status` field's layout renderer is used when it is `enumOption` or `i18nText`. */
|
|
135
155
|
readonly statusFormat?: FormatSpec;
|
|
@@ -159,9 +179,17 @@ export type MetricNavigate = {
|
|
|
159
179
|
export type MetricSpec = {
|
|
160
180
|
readonly field: string;
|
|
161
181
|
readonly label: string;
|
|
182
|
+
/** Record field of the detail query holding the label text, e.g. "Rent from 01.12."; it replaces the static `label` while it holds a non-empty string. The static `label` stays the fallback. */
|
|
183
|
+
readonly labelField?: string;
|
|
162
184
|
readonly navigate?: MetricNavigate;
|
|
185
|
+
/** Leaves the metric out below `sm`. */
|
|
186
|
+
readonly hideOnNarrow?: true;
|
|
163
187
|
/** Tile color as on dashboard stat panels; not applied while the value is 0. */
|
|
164
188
|
readonly tone?: DashboardStatTone;
|
|
189
|
+
/** Record field of the detail query holding a SelectOptionTone; a valid value overrides `tone`, also at value 0. Empty or unknown values fall back to `tone`. */
|
|
190
|
+
readonly toneField?: string;
|
|
191
|
+
/** Record field of the detail query shown as a small line under the value; the value stays the number. Same name as `DashboardStatPanel.subField`. */
|
|
192
|
+
readonly subField?: string;
|
|
165
193
|
/** Icon chip of the tile; only drawn with `metricsStyle: "tiles"`. */
|
|
166
194
|
readonly icon?: NavIconKey;
|
|
167
195
|
/** Formats the displayed value (e.g. `date`, `enumOption`); the tone still resolves on the raw value. */
|
|
@@ -189,6 +217,8 @@ export type ProjectionDetailScreenDefinition = {
|
|
|
189
217
|
readonly query: string;
|
|
190
218
|
/** Query output field whose value titles the page header (breadcrumb) when no `header` is set. */
|
|
191
219
|
readonly recordTitleField?: string;
|
|
220
|
+
/** Focused shell while the record is open: the app header actions leave the shell header, and on phones a top bar with the record title, a back arrow to the parent list and the page-header overflow menu replaces it. Default off. */
|
|
221
|
+
readonly focus?: boolean;
|
|
192
222
|
/** Query-payload key for the row-id. Default "id". */
|
|
193
223
|
readonly idParam?: string;
|
|
194
224
|
/** The server determines the shown row from the caller's session/context
|
|
@@ -221,6 +251,20 @@ export type ProjectionDetailScreenDefinition = {
|
|
|
221
251
|
readonly metrics?: readonly MetricSpec[];
|
|
222
252
|
/** "tiles" draws the metrics as the dashboard KPI tiles (StatCard) instead of the plain band. */
|
|
223
253
|
readonly metricsStyle?: "band" | "tiles";
|
|
254
|
+
/** `narrow: "after-guidance"` moves the metrics below the summary, banner and steps on screens under md, ahead of the tabs. Works with the page header and the head card; only the metric tiles move, the subtitle and status line stay under the title. */
|
|
255
|
+
readonly metricsPlacement?: {
|
|
256
|
+
readonly narrow?: "after-guidance";
|
|
257
|
+
};
|
|
258
|
+
/** Path above the header (query column holding items). */
|
|
259
|
+
readonly breadcrumb?: RecordBreadcrumbSpec;
|
|
260
|
+
/** One emphasized sentence below the header. */
|
|
261
|
+
readonly summary?: RecordSummarySpec;
|
|
262
|
+
/** Notice below the summary. Its `actions` are evaluated against the notice like a list row (`visible`, `params`, `payload` read the notice); a writeHandler without `payload` sends the shown record's id; `rowClick` and `showOnTabs` are rejected. */
|
|
263
|
+
readonly banner?: RecordBannerSpec;
|
|
264
|
+
/** "Next steps" panel. Its `actions` are evaluated against the step like a list row (`visible`, `params`, `payload` read the step); a writeHandler without `payload` sends the shown record's id; `rowClick` and `showOnTabs` are rejected. */
|
|
265
|
+
readonly steps?: RecordStepsSpec;
|
|
266
|
+
/** Process chains the record is part of, drawn as step bars between the banner and the steps panel. Reads `RecordProgress[]` from the query row; an empty array shows no block. */
|
|
267
|
+
readonly progress?: RecordProgressSpec;
|
|
224
268
|
/** Parent list screen (short id) for a "back" navigation. */
|
|
225
269
|
readonly listScreenId?: string;
|
|
226
270
|
readonly slots?: ScreenSlots;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { SelectOptionTone } from "./fields.ts";
|
|
2
|
+
import type { RowAction } from "./screen-entity-list.ts";
|
|
3
|
+
export type RecordBreadcrumbItem = {
|
|
4
|
+
readonly label: string;
|
|
5
|
+
/** With `id`, the item links to that record's detail screen when the user may open it. */
|
|
6
|
+
readonly entity?: string;
|
|
7
|
+
readonly id?: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* A banner or step action. `hideIcon` keeps the icon out of the drawn button (text only); it
|
|
11
|
+
* stays registered for the `screen/action-icon` rule and for icon-only or menu renderings.
|
|
12
|
+
*/
|
|
13
|
+
export type RecordGuidanceAction = RowAction & {
|
|
14
|
+
readonly hideIcon?: true;
|
|
15
|
+
/** i18n key shown as the button label below `sm` (a shorter word, e.g. "Plan" for "Plan handover"). */
|
|
16
|
+
readonly narrowLabel?: string;
|
|
17
|
+
};
|
|
18
|
+
export type RecordNotice = {
|
|
19
|
+
readonly title: string;
|
|
20
|
+
readonly text?: string;
|
|
21
|
+
readonly tone?: SelectOptionTone;
|
|
22
|
+
readonly [field: string]: unknown;
|
|
23
|
+
};
|
|
24
|
+
export type RecordStep = {
|
|
25
|
+
readonly id: string;
|
|
26
|
+
readonly title: string;
|
|
27
|
+
readonly detail?: string;
|
|
28
|
+
/** Shown instead of `detail` below `sm`. */
|
|
29
|
+
readonly narrowDetail?: string;
|
|
30
|
+
readonly tone?: SelectOptionTone;
|
|
31
|
+
/** Explanation behind a toggle next to the step. */
|
|
32
|
+
readonly why?: string;
|
|
33
|
+
/** With `why`: the explanation stands open as a box under the step from `sm` up; the toggle closes it. */
|
|
34
|
+
readonly whyOpen?: true;
|
|
35
|
+
/** Bold lead-in of the `why` paragraph. */
|
|
36
|
+
readonly whyTitle?: string;
|
|
37
|
+
readonly [field: string]: unknown;
|
|
38
|
+
};
|
|
39
|
+
/** Path above the header; `field` holds `RecordBreadcrumbItem[]`. */
|
|
40
|
+
export type RecordBreadcrumbSpec = {
|
|
41
|
+
readonly field: string;
|
|
42
|
+
};
|
|
43
|
+
/** One emphasized sentence below the header; `field` holds a string. */
|
|
44
|
+
export type RecordSummarySpec = {
|
|
45
|
+
readonly field: string;
|
|
46
|
+
/** Row field holding a SelectOptionTone for the sentence's accent. */
|
|
47
|
+
readonly toneField?: string;
|
|
48
|
+
/** Row field with a shorter sentence shown instead of `field` below `sm`. */
|
|
49
|
+
readonly narrowField?: string;
|
|
50
|
+
};
|
|
51
|
+
export type RecordBannerSpec = {
|
|
52
|
+
/** Holds `RecordNotice | null`; null shows no banner. */
|
|
53
|
+
readonly field: string;
|
|
54
|
+
readonly actions?: readonly RecordGuidanceAction[];
|
|
55
|
+
};
|
|
56
|
+
export type RecordStepsSpec = {
|
|
57
|
+
/** Holds `RecordStep[]`. */
|
|
58
|
+
readonly field: string;
|
|
59
|
+
/** i18n key, default `kumiko.detail.steps.title`. */
|
|
60
|
+
readonly title?: string;
|
|
61
|
+
/** Record field with a plain-text subtitle. */
|
|
62
|
+
readonly subtitleField?: string;
|
|
63
|
+
/** i18n key for an empty list, default `kumiko.detail.steps.empty`. */
|
|
64
|
+
readonly emptyLabel?: string;
|
|
65
|
+
/** Below `sm` only the first n steps show; the rest sits behind a "k more steps" toggle. */
|
|
66
|
+
readonly narrowLimit?: number;
|
|
67
|
+
readonly actions?: readonly RecordGuidanceAction[];
|
|
68
|
+
};
|
|
69
|
+
export type RecordProgressStep = {
|
|
70
|
+
readonly id: string;
|
|
71
|
+
readonly label: string;
|
|
72
|
+
readonly done: boolean;
|
|
73
|
+
readonly detail?: string;
|
|
74
|
+
};
|
|
75
|
+
/** A process chain the record is part of. `currentIndex` points at the first open step. */
|
|
76
|
+
export type RecordProgress = {
|
|
77
|
+
readonly title: string;
|
|
78
|
+
readonly steps: readonly RecordProgressStep[];
|
|
79
|
+
readonly currentIndex: number;
|
|
80
|
+
};
|
|
81
|
+
export type RecordProgressSpec = {
|
|
82
|
+
/** Holds `RecordProgress[]`; an empty array shows no block. */
|
|
83
|
+
readonly field: string;
|
|
84
|
+
/** "beside-steps": the chains sit as a vertical stage list in a 4/12 column next to the steps panel (8/12) from lg, stacked below it under lg. Needs `steps`; without it the chains keep their own row. */
|
|
85
|
+
readonly placement?: "beside-steps";
|
|
86
|
+
/** Leaves the chains out below `sm`. */
|
|
87
|
+
readonly hideOnNarrow?: true;
|
|
88
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/screen.d.ts
CHANGED
|
@@ -78,9 +78,11 @@ export interface FieldFormatRegistry {
|
|
|
78
78
|
/** FileRef id (or id array) as a download link with the file name. On a
|
|
79
79
|
* read-only detail field it renders a file list with download links and an
|
|
80
80
|
* inline preview for PDFs; elsewhere the raw value is shown.
|
|
81
|
-
* `previewOpenByDefault` opens the newest (last) file's PDF preview initially.
|
|
81
|
+
* `previewOpenByDefault` opens the newest (last) file's PDF preview initially.
|
|
82
|
+
* `viewInDrawer` adds a "View" action to list cells for PDFs that opens the PDF viewer in a drawer. */
|
|
82
83
|
file: {
|
|
83
84
|
readonly previewOpenByDefault?: boolean;
|
|
85
|
+
readonly viewInDrawer?: boolean;
|
|
84
86
|
};
|
|
85
87
|
}
|
|
86
88
|
export type FormatSpec = {
|
|
@@ -115,18 +117,20 @@ export type ScreenNavSugar = {
|
|
|
115
117
|
readonly order?: number;
|
|
116
118
|
};
|
|
117
119
|
export type ScreenDefinition = EntityListScreenDefinition | ProjectionListScreenDefinition | ProjectionDetailScreenDefinition | DashboardScreenDefinition | EntityEditScreenDefinition | ActionFormScreenDefinition | ConfigEditScreenDefinition | SecretsEditScreenDefinition | SecretMintScreenDefinition | CustomScreenDefinition;
|
|
120
|
+
export type { NamedFilterFacetOptions } from "./named-list-filters.ts";
|
|
118
121
|
export type { ActionFormFooterAction, ActionFormLoad, ActionFormRedirect, ActionFormScreenDefinition, ActionFormSuccessFact, ActionFormSuccessItems, ActionFormSuccessLink, FormFieldDerivation, FormFieldDerivationWithoutList, SecretMintConfirmStep, SecretMintScreenDefinition, SecretReveal, SecretRevealField, } from "./screen-action-form.ts";
|
|
119
122
|
export type { ConfigEditAction, ConfigEditScreenDefinition, CustomScreenDefinition, CustomScreenRoute, SecretsEditScreenDefinition, SecretsEditSection, } from "./screen-custom-config.ts";
|
|
120
|
-
export type { DashboardChartKind, DashboardChartMarkerKind, DashboardChartPanel, DashboardChartRangeOption, DashboardChartRanges, DashboardChartTone, DashboardCurrencyFormat, DashboardCustomPanel, DashboardDateParam, DashboardFeedPanel, DashboardFilterDefinition, DashboardI18nText, DashboardListPanel, DashboardMoneyParam, DashboardPanelDefinition, DashboardPanelEmptyState, DashboardPanelGate, DashboardPanelQueryOptions, DashboardPanelSpan, DashboardPanelVisibility, DashboardProgressListPanel, DashboardProgressTone, DashboardRecordBinding, DashboardRefresh, DashboardRelativeTimeFormat, DashboardRelativeTimeParam, DashboardScopeDefinition, DashboardScreenDefinition, DashboardScreenPanel, DashboardStatGroupPanel, DashboardStatPanel, DashboardStatTone, DashboardText, DashboardTextBlock, DashboardTextPanel, DashboardTextParam, DashboardTimeRangeDefinition, DashboardValueFormat, ScreenVisibility, } from "./screen-dashboard.ts";
|
|
123
|
+
export type { DashboardChartKind, DashboardChartMarkerKind, DashboardChartPanel, DashboardChartRangeOption, DashboardChartRanges, DashboardChartTone, DashboardCurrencyFormat, DashboardCustomPanel, DashboardDateParam, DashboardFeedPanel, DashboardFilterDefinition, DashboardI18nText, DashboardListFooterLink, DashboardListNarrow, DashboardListPanel, DashboardListRowLink, DashboardListRowToneMarker, DashboardMoneyParam, DashboardPanelDefinition, DashboardPanelEmptyState, DashboardPanelGate, DashboardPanelNarrow, DashboardPanelQueryOptions, DashboardPanelSpan, DashboardPanelVisibility, DashboardProgressListPanel, DashboardProgressTone, DashboardRecordBinding, DashboardRefresh, DashboardRelativeTimeFormat, DashboardRelativeTimeParam, DashboardScopeDefinition, DashboardScreenDefinition, DashboardScreenPanel, DashboardStatGroupLayout, DashboardStatGroupLink, DashboardStatGroupNarrow, DashboardStatGroupPanel, DashboardStatPanel, DashboardStatTone, DashboardText, DashboardTextBlock, DashboardTextPanel, DashboardTextParam, DashboardTimeRangeDefinition, DashboardValueFormat, ScreenVisibility, } from "./screen-dashboard.ts";
|
|
121
124
|
export { DASHBOARD_MIN_REFRESH_SECONDS, DASHBOARD_STAT_TONES } from "./screen-dashboard.ts";
|
|
122
125
|
export type { EditExtensionSection, EditFieldGroup, EditFieldPrefill, EditFieldSpec, EditFieldsSection, EditLayout, EditRelatedListSection, EditSectionSpec, EditWriteFormSection, EmbeddedListEditSpec, EntityEditAction, EntityEditActionPlacement, EntityEditScreenDefinition, EntityWriteExcludedFields, FieldAffix, FieldFillAction, FormWidth, ListEmptyStateSpec, RelatedListEmptyStateSpec, RelatedListEmptyStateVariant, RelatedListRowTone, } from "./screen-entity-edit.ts";
|
|
123
126
|
export { relatedListGroupHeaderLabel, relatedListGroupKey } from "./screen-entity-edit.ts";
|
|
124
|
-
export type { EntityListFacetConfig, EntityListFacetExtraOption, EntityListScreenDefinition, ListBadgeTone, ListColumnDisplay, ListColumnSpec, ListPaginationMode, ListSortDir, ListSortSpec, RelatedListToolbarAction, RowAction, RowActionClientAction, RowActionDisplay, RowActionDrawer, RowActionMode, RowActionNavigate, RowActionNavigateBase, RowActionWriteHandler, RowFieldExtractor, ScreenFilter, ScreenFilterOp, ToolbarAction, } from "./screen-entity-list.ts";
|
|
127
|
+
export type { EntityListFacetConfig, EntityListFacetExtraOption, EntityListScreenDefinition, ListBadgeTone, ListColumnDisplay, ListColumnHint, ListColumnSpec, ListPaginationMode, ListRowDecoration, ListSortDir, ListSortOption, ListSortSpec, RelatedListToolbarAction, RowAction, RowActionClientAction, RowActionDisplay, RowActionDrawer, RowActionMode, RowActionNavigate, RowActionNavigateBase, RowActionWriteHandler, RowFieldExtractor, ScreenFilter, ScreenFilterOp, ToolbarAction, } from "./screen-entity-list.ts";
|
|
125
128
|
export type { EntityListExpandableRow, ExpandableRowGrouping } from "./screen-expandable-row.ts";
|
|
126
129
|
export type { ScreenFallback, ScreenFallbackByReason, ScreenFallbackReason, } from "./screen-fallback.ts";
|
|
127
130
|
export { fallbackTargetFor, fallbackTargets, SCREEN_FALLBACK_REASONS } from "./screen-fallback.ts";
|
|
128
131
|
export type { ListBulkAction } from "./screen-list-bulk.ts";
|
|
129
132
|
export { LIST_BULK_ACTION_KEYS, MAX_BULK_SELECTION } from "./screen-list-bulk.ts";
|
|
130
|
-
export type { BundledListsOptions, ListColumnPin, ListTableDensity, ListTableExportOptions, ListTableGrouping, ListTableOptions, ListTableTotal, } from "./screen-list-table.ts";
|
|
131
|
-
export { DEFAULT_EXPORT_MAX_ROWS, LIST_COLUMN_PINS, LIST_TABLE_DENSITIES, LIST_TABLE_DENSITY_KEYS, LIST_TABLE_EXPORT_KEYS, LIST_TABLE_GROUPING_KEYS, LIST_TABLE_OPTION_KEYS, LIST_TABLE_TOTAL_KEYS, MAX_EXPORT_MAX_ROWS, } from "./screen-list-table.ts";
|
|
133
|
+
export type { BundledListsOptions, ListColumnPin, ListNarrowFacets, ListTableDensity, ListTableExportOptions, ListTableFrame, ListTableGrouping, ListTableOptions, ListTableSummaryRow, ListTableTotal, } from "./screen-list-table.ts";
|
|
134
|
+
export { DEFAULT_EXPORT_MAX_ROWS, LIST_COLUMN_MAX_WIDTH_PX, LIST_COLUMN_PINS, LIST_NARROW_FACETS, LIST_TABLE_DENSITIES, LIST_TABLE_DENSITY_KEYS, LIST_TABLE_EXPORT_KEYS, LIST_TABLE_FRAMES, LIST_TABLE_GROUPING_KEYS, LIST_TABLE_OPTION_KEYS, LIST_TABLE_SUMMARY_ROW_KEYS, LIST_TABLE_TOTAL_KEYS, MAX_EXPORT_MAX_ROWS, } from "./screen-list-table.ts";
|
|
132
135
|
export type { ListFacetSpec, MetricNavigate, MetricSpec, ProjectionDetailScreenDefinition, ProjectionListScreenDefinition, RecordHeaderSpec, RecordHeaderSubtitlePart, } from "./screen-projection.ts";
|
|
136
|
+
export type { RecordBannerSpec, RecordBreadcrumbItem, RecordBreadcrumbSpec, RecordNotice, RecordProgress, RecordProgressSpec, RecordProgressStep, RecordStep, RecordStepsSpec, RecordSummarySpec, } from "./screen-record-guidance.ts";
|
package/dist/screen.js
CHANGED
|
@@ -2,4 +2,4 @@ export { DASHBOARD_MIN_REFRESH_SECONDS, DASHBOARD_STAT_TONES } from "./screen-da
|
|
|
2
2
|
export { relatedListGroupHeaderLabel, relatedListGroupKey } from "./screen-entity-edit.js";
|
|
3
3
|
export { fallbackTargetFor, fallbackTargets, SCREEN_FALLBACK_REASONS } from "./screen-fallback.js";
|
|
4
4
|
export { LIST_BULK_ACTION_KEYS, MAX_BULK_SELECTION } from "./screen-list-bulk.js";
|
|
5
|
-
export { DEFAULT_EXPORT_MAX_ROWS, LIST_COLUMN_PINS, LIST_TABLE_DENSITIES, LIST_TABLE_DENSITY_KEYS, LIST_TABLE_EXPORT_KEYS, LIST_TABLE_GROUPING_KEYS, LIST_TABLE_OPTION_KEYS, LIST_TABLE_TOTAL_KEYS, MAX_EXPORT_MAX_ROWS, } from "./screen-list-table.js";
|
|
5
|
+
export { DEFAULT_EXPORT_MAX_ROWS, LIST_COLUMN_MAX_WIDTH_PX, LIST_COLUMN_PINS, LIST_NARROW_FACETS, LIST_TABLE_DENSITIES, LIST_TABLE_DENSITY_KEYS, LIST_TABLE_EXPORT_KEYS, LIST_TABLE_FRAMES, LIST_TABLE_GROUPING_KEYS, LIST_TABLE_OPTION_KEYS, LIST_TABLE_SUMMARY_ROW_KEYS, LIST_TABLE_TOTAL_KEYS, MAX_EXPORT_MAX_ROWS, } from "./screen-list-table.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.414.0",
|
|
4
4
|
"description": "Framework-Type-Definitions für Kumiko — FeatureDefinition, BootCheck-Types und die reinen Engine-Types. Erlaubt Downstream-Konsumenten, gegen die Type-Contracts zu bauen, ohne das ganze Framework-Package zu importieren. Enthaelt keine identitaets-sensitiven Runtime-Werte mehr (Error-Klassen leben seit #1629 in kumiko-framework, Brand-Symbole nutzen Symbol.for) und ist deshalb eine plain dependency, keine peerDependency.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
"types": "./dist/kebab-case.d.ts",
|
|
31
31
|
"default": "./dist/kebab-case.js"
|
|
32
32
|
},
|
|
33
|
+
"./minor-units": {
|
|
34
|
+
"types": "./dist/minor-units.d.ts",
|
|
35
|
+
"default": "./dist/minor-units.js"
|
|
36
|
+
},
|
|
33
37
|
"./identifiers": {
|
|
34
38
|
"types": "./dist/identifiers.d.ts",
|
|
35
39
|
"default": "./dist/identifiers.js"
|
|
@@ -341,6 +345,10 @@
|
|
|
341
345
|
"types": "./dist/kebab-case.d.ts",
|
|
342
346
|
"default": "./dist/kebab-case.js"
|
|
343
347
|
},
|
|
348
|
+
"./minor-units": {
|
|
349
|
+
"types": "./dist/minor-units.d.ts",
|
|
350
|
+
"default": "./dist/minor-units.js"
|
|
351
|
+
},
|
|
344
352
|
"./identifiers": {
|
|
345
353
|
"types": "./dist/identifiers.d.ts",
|
|
346
354
|
"default": "./dist/identifiers.js"
|
package/src/changes.json
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "0.414.0",
|
|
4
|
+
"type": "improvement",
|
|
5
|
+
"title": "Long external calls with writes belong in transaction perCommand",
|
|
6
|
+
"detail": "A `perCommand` write handler holds no transaction or connection while an external call runs and keeps `ctx.db.outsideTransaction`, so metering and provenance bookings work there (covered by an integration test with the cap counter). The docs of `WriteHandlerTransactionMode` and `BeforeTransactionContext` say so; `beforeTransaction` keeps its read-only context."
|
|
7
|
+
},
|
|
2
8
|
{
|
|
3
9
|
"version": "0.404.0",
|
|
4
10
|
"type": "improvement",
|