@cosmicdrift/kumiko-types 0.383.1 → 0.385.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/screen.js CHANGED
@@ -1,18 +1,2 @@
1
- // Query result contract: flat record; `valueField` points at the
2
- // value (string is display-ready, number is locale-formatted, DashboardI18nText
3
- // is translated), `subField` optionally at a sub line (string | DashboardI18nText), `toneField` optionally at
4
- // "default" | "positive" | "ok" | "warn" | "negative".
5
- // `visibleWhen` only on a top-level stat; the boot validator rejects it on a
6
- // stat-group child (gate the whole group instead).
7
- export const DASHBOARD_STAT_TONES = ["default", "positive", "ok", "warn", "negative"];
8
- /** Minimum polling interval of `DashboardScreenDefinition.refresh`; shorter values are rejected
9
- * at boot (`seconds`) or raised at runtime (`field`). */
10
- export const DASHBOARD_MIN_REFRESH_SECONDS = 5;
11
- /** Group key of a field value; `collapsedWhen` and row values both go through it. */
12
- export function relatedListGroupKey(value) {
13
- return value === undefined || value === null ? "" : String(value);
14
- }
15
- export function relatedListGroupHeaderLabel(groupBy, groupKey) {
16
- const labels = groupBy.labels;
17
- return labels !== undefined && Object.hasOwn(labels, groupKey) ? labels[groupKey] : groupBy.label;
18
- }
1
+ export { DASHBOARD_MIN_REFRESH_SECONDS, DASHBOARD_STAT_TONES } from "./screen-dashboard.js";
2
+ export { relatedListGroupHeaderLabel, relatedListGroupKey } from "./screen-entity-edit.js";
@@ -10,6 +10,8 @@ export type WhereOperator = {
10
10
  readonly lte?: unknown;
11
11
  readonly ne?: unknown;
12
12
  readonly in?: readonly unknown[];
13
+ /** Not for jsonb columns; an empty list matches every row. */
14
+ readonly notIn?: readonly unknown[];
13
15
  readonly like?: string;
14
16
  /** jsonb columns only; cannot be combined with other operators in the same object. */
15
17
  readonly jsonText?: JsonTextMatch | readonly JsonTextMatch[];
@@ -25,4 +27,5 @@ export type SelectOptions = {
25
27
  readonly limit?: number;
26
28
  readonly fields?: readonly string[];
27
29
  readonly orderBy?: OrderByClause | readonly OrderByClause[];
30
+ readonly distinctOn?: readonly [string, ...string[]];
28
31
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-types",
3
- "version": "0.383.1",
3
+ "version": "0.385.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": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
package/src/changes.json CHANGED
@@ -1,4 +1,10 @@
1
1
  [
2
+ {
3
+ "version": "0.385.0",
4
+ "type": "improvement",
5
+ "title": "SelectOptions.distinctOn and split screen types",
6
+ "detail": "SelectOptions gains the optional distinctOn field. The screen type definitions are split into several files below 2000 lines; the import paths of the exported types are unchanged."
7
+ },
2
8
  {
3
9
  "version": "0.383.0",
4
10
  "type": "breaking",