@cosmicdrift/kumiko-samples 0.356.0 → 0.358.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 (49) hide show
  1. package/package.json +1 -1
  2. package/packages/bundled-features/package.json +1 -1
  3. package/packages/bundled-features/src/auth-mfa/changes.json +6 -0
  4. package/packages/bundled-features/src/auth-mfa/i18n.ts +1 -0
  5. package/packages/bundled-features/src/auth-mfa/screens.ts +8 -1
  6. package/packages/bundled-features/src/cap-counter/book-cap-usage.ts +71 -21
  7. package/packages/bundled-features/src/cap-counter/calendar-cap-usage-reservation.ts +99 -0
  8. package/packages/bundled-features/src/cap-counter/cap-reservation.ts +143 -43
  9. package/packages/bundled-features/src/cap-counter/changes.json +7 -0
  10. package/packages/bundled-features/src/cap-counter/enforce-cap.ts +18 -32
  11. package/packages/bundled-features/src/cap-counter/feature.ts +7 -1
  12. package/packages/bundled-features/src/cap-counter/index.ts +5 -0
  13. package/packages/bundled-features/src/cap-counter/with-cap-enforcement.ts +3 -25
  14. package/packages/bundled-features/src/cap-overview/screens.ts +3 -1
  15. package/packages/bundled-features/src/crypto-shredding/changes.json +6 -0
  16. package/packages/bundled-features/src/crypto-shredding/handlers/forget-subject.write.ts +15 -1
  17. package/packages/bundled-features/src/delivery/changes.json +6 -0
  18. package/packages/bundled-features/src/delivery/chat-webhook-sender.ts +1 -1
  19. package/packages/bundled-features/src/delivery/constants.ts +5 -0
  20. package/packages/bundled-features/src/delivery/delivery-service.ts +118 -50
  21. package/packages/bundled-features/src/delivery/feature.ts +7 -1
  22. package/packages/bundled-features/src/delivery/jobs.ts +27 -1
  23. package/packages/bundled-features/src/delivery/testing.ts +1 -0
  24. package/packages/bundled-features/src/jobs/job-run-logger.ts +23 -15
  25. package/packages/bundled-features/src/jobs/job-run-table.ts +10 -3
  26. package/packages/bundled-features/src/notes-history/changes.json +6 -0
  27. package/packages/bundled-features/src/notes-history/entity.ts +9 -7
  28. package/packages/bundled-features/src/notes-history-user-data/hooks.ts +84 -76
  29. package/packages/bundled-features/src/notes-history-user-data/index.ts +3 -1
  30. package/packages/bundled-features/src/personal-access-tokens/screens.ts +2 -0
  31. package/packages/bundled-features/src/sessions/screens.ts +2 -0
  32. package/packages/bundled-features/src/tenant/changes.json +6 -0
  33. package/packages/bundled-features/src/tenant/constants.ts +6 -3
  34. package/packages/bundled-features/src/tenant/feature.ts +2 -0
  35. package/packages/bundled-features/src/tenant/handlers/member-role-availability.query.ts +25 -0
  36. package/packages/bundled-features/src/tenant/member-role-options.ts +6 -0
  37. package/packages/bundled-features/src/tenant/screens.ts +9 -6
  38. package/packages/bundled-features/src/user/screens.ts +8 -1
  39. package/packages/bundled-features/src/user-data-rights/screens.ts +8 -1
  40. package/packages/bundled-features/src/waitlist/screens.ts +8 -1
  41. package/samples/apps/marketing-demo/src/features/assets/schema/asset.ts +4 -4
  42. package/samples/apps/marketing-demo/src/features/helpdesk/schema/ticket.ts +4 -4
  43. package/samples/apps/showcase/src/features/items/schema/item.ts +1 -1
  44. package/samples/apps/styleguide/src/features/demo/feature.ts +3 -3
  45. package/samples/apps/styleguide/src/features/gallery/web/Gallery.tsx +1 -1
  46. package/samples/apps/styleguide/src/features/widgets/feature.ts +1 -0
  47. package/samples/apps/ui-walkthrough/src/features/rental/screens.ts +6 -2
  48. package/samples/apps/ui-walkthrough/src/features/vehicles/screens.ts +9 -2
  49. package/samples/apps/use-all-bundled/feature-manifest.json +1 -1
@@ -102,7 +102,7 @@ export const itemListScreen: EntityListScreenDefinition = {
102
102
  "dueDate",
103
103
  // Tier 2.7e-4 Demo — Reference-Spalte. Renderer macht Bulk-Lookup
104
104
  // auf item:list (limit:200), zeigt parentId als parent.title.
105
- "parentId",
105
+ { field: "parentId", hideOnNarrow: true },
106
106
  ],
107
107
  // Server-side Pagination Demo — Showcase seedet ~200 items, der
108
108
  // Pager hat 4 Seiten zum Durchklicken bei pageSize: 50.
@@ -228,9 +228,9 @@ export const demoFeature = defineFeature("styleguide", (r) => {
228
228
  "status",
229
229
  "isActive",
230
230
  "quantity",
231
- "rating",
232
- "publishedAt",
233
- "price",
231
+ { field: "rating", hideOnNarrow: true },
232
+ { field: "publishedAt", hideOnNarrow: true },
233
+ { field: "price", hideOnNarrow: true },
234
234
  ],
235
235
  pagination: "pages",
236
236
  pageSize: 25,
@@ -331,7 +331,7 @@ export function Gallery(): ReactNode {
331
331
  {/* Standalone <Section> (outside Form) = the calculator-result-card
332
332
  standard. title-only = existing consumer (publicstatus/tier-admin),
333
333
  must NOT regress from the border-b removal; subtitle +
334
- actions footer = new. No divider under the title (shadcn pattern). */}
334
+ actions (title row, top right) = new. No divider under the title (shadcn pattern). */}
335
335
  <div className="flex max-w-md flex-col gap-6">
336
336
  <Section title="Affordable rate / month">
337
337
  <div className="text-2xl font-semibold tabular-nums">€2,500.00</div>
@@ -153,6 +153,7 @@ export const widgetsFeature = defineFeature("widgets", (r) => {
153
153
  legendTotals: false,
154
154
  initialWindow: "from-today",
155
155
  markerLegend: "legend",
156
+ markerLabels: true,
156
157
  markerKinds: {
157
158
  extra: { tone: "active", label: "widgets:dashboard:kind-extra" },
158
159
  payoff: { tone: "positive", label: "widgets:dashboard:kind-payoff" },
@@ -27,7 +27,7 @@ const OPEN_FILL_COLUMNS = [
27
27
  "einheit",
28
28
  "liegenschaft",
29
29
  "beginn",
30
- "ende",
30
+ { field: "ende", hideOnNarrow: true },
31
31
  "status",
32
32
  ] as const;
33
33
 
@@ -145,7 +145,11 @@ const POSITION_COLUMNS = [
145
145
  label: "rental:entity:leasePosition:field:gueltigVon",
146
146
  sortable: true,
147
147
  },
148
- { field: "gueltigBis", label: "rental:entity:leasePosition:field:gueltigBis" },
148
+ {
149
+ field: "gueltigBis",
150
+ label: "rental:entity:leasePosition:field:gueltigBis",
151
+ hideOnNarrow: true,
152
+ },
149
153
  ] as const;
150
154
 
151
155
  export const leaseDetailScreen: ProjectionDetailScreenDefinition = {
@@ -31,7 +31,14 @@ export const vehicleListScreen: EntityListScreenDefinition = {
31
31
  id: "vehicle-list",
32
32
  type: "entityList",
33
33
  entity: "vehicle",
34
- columns: ["marke", "modell", "baujahr", "preis", "zustand", "scheckheftGepflegt"],
34
+ columns: [
35
+ "marke",
36
+ "modell",
37
+ "baujahr",
38
+ "preis",
39
+ "zustand",
40
+ { field: "scheckheftGepflegt", hideOnNarrow: true },
41
+ ],
35
42
  searchPlaceholder: "vehicles.search.placeholder",
36
43
  defaultSort: { field: "marke", dir: "asc" },
37
44
  rowActions: [
@@ -129,7 +136,7 @@ export const campaignListScreen: EntityListScreenDefinition = {
129
136
  "aktionStartet",
130
137
  "aktionEndet",
131
138
  "meta",
132
- "gepostet",
139
+ { field: "gepostet", hideOnNarrow: true },
133
140
  { field: "gestartetAm", hideOnNarrow: true },
134
141
  ],
135
142
  searchPlaceholder: "vehicles.search.placeholder",
@@ -1954,7 +1954,7 @@
1954
1954
  },
1955
1955
  {
1956
1956
  "name": "notes-history-user-data",
1957
- "description": "GDPR (Art. 20 export / Art. 17 erasure) coverage for the `notes-history` feature's `note-entry` and `note-mention` entities. Mounts the export hook so a user's authored notes are included in the user-data export bundle; the note-entry delete hook looks up `note-mention` for notes that structurally @-mention the forgotten user and crypto-shreds each reached note's row-subject key (after consulting that note's host entity's retention strategy — blockDelete/anonymize win over erasure), keeping the append-only history intact for notes without such a mention. `note-mention`'s own hooks are a no-op — it is a plain FK pointer, not separately exportable content. Kept separate from `notes-history` so notes consumers without the user-data-rights pipeline don't pull a hard dependency — requires `user-data-rights`, optionalRequires `notes-history`.",
1957
+ "description": "GDPR (Art. 20 export / Art. 17 erasure) coverage for the `notes-history` feature's `note-entry` and `note-mention` entities. Mounts the export hook so a user's authored notes are included in the user-data export bundle; the note-entry delete hook crypto-shreds the row-subject key of each note that structurally @-mentions the forgotten user (`note-mention`) or hangs on the user as host entity (regardless of the host entity's retention strategy: the note text is free PII, the host's anonymize/blockDelete protects the row, not the content), keeping the append-only history intact for all other notes. The manual `crypto-shredding` forget-subject command reaches the same notes for user and record subjects through the exported `eraseNoteBodiesReachingSubject`, and the export lists them under `note-mention`. `note-mention`'s own hooks are a no-op — it is a plain FK pointer, not separately exportable content. Kept separate from `notes-history` so notes consumers without the user-data-rights pipeline don't pull a hard dependency — requires `user-data-rights`, optionalRequires `notes-history`.",
1958
1958
  "toggleableDefault": null,
1959
1959
  "requires": [
1960
1960
  "user-data-rights"