@object-ui/plugin-detail 17.6.0 → 17.7.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 (92) hide show
  1. package/CHANGELOG.md +6741 -0
  2. package/README.md +404 -71
  3. package/dist/ActivityTimeline.d.ts.map +1 -1
  4. package/dist/CommentAttachment.d.ts.map +1 -1
  5. package/dist/ConcurrentUpdateDialog.d.ts +17 -1
  6. package/dist/ConcurrentUpdateDialog.d.ts.map +1 -1
  7. package/dist/DetailSection.d.ts.map +1 -1
  8. package/dist/DetailSectionNode.d.ts +97 -0
  9. package/dist/DetailSectionNode.d.ts.map +1 -0
  10. package/dist/DetailView.d.ts.map +1 -1
  11. package/dist/HeaderHighlight.d.ts.map +1 -1
  12. package/dist/HistoryTimeline.d.ts +8 -1
  13. package/dist/HistoryTimeline.d.ts.map +1 -1
  14. package/dist/InlineEditSaveBar.d.ts +68 -0
  15. package/dist/InlineEditSaveBar.d.ts.map +1 -1
  16. package/dist/InlineFieldInput.d.ts +79 -6
  17. package/dist/InlineFieldInput.d.ts.map +1 -1
  18. package/dist/ReactionPicker.d.ts.map +1 -1
  19. package/dist/RecordActivityTimeline.d.ts +19 -4
  20. package/dist/RecordActivityTimeline.d.ts.map +1 -1
  21. package/dist/RecordChatterPanel.d.ts +6 -1
  22. package/dist/RecordChatterPanel.d.ts.map +1 -1
  23. package/dist/RecordComments.d.ts +1 -0
  24. package/dist/RecordComments.d.ts.map +1 -1
  25. package/dist/RecordDetailDrawer.d.ts +20 -6
  26. package/dist/RecordDetailDrawer.d.ts.map +1 -1
  27. package/dist/RecordDetailPanel.d.ts +101 -0
  28. package/dist/RecordDetailPanel.d.ts.map +1 -0
  29. package/dist/RecordMetaFooter.d.ts +1 -1
  30. package/dist/RecordMetaFooter.d.ts.map +1 -1
  31. package/dist/RelatedList.d.ts +83 -10
  32. package/dist/RelatedList.d.ts.map +1 -1
  33. package/dist/ThreadedReplies.d.ts +1 -1
  34. package/dist/ThreadedReplies.d.ts.map +1 -1
  35. package/dist/emptiness.d.ts +142 -0
  36. package/dist/emptiness.d.ts.map +1 -0
  37. package/dist/fieldEnrichment.d.ts +44 -4
  38. package/dist/fieldEnrichment.d.ts.map +1 -1
  39. package/dist/headerColor.d.ts +20 -0
  40. package/dist/headerColor.d.ts.map +1 -0
  41. package/dist/index.d.ts +94 -77
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +4883 -5255
  44. package/dist/index.umd.cjs +2 -5
  45. package/dist/renderers/record-activity.d.ts.map +1 -1
  46. package/dist/renderers/record-alert.d.ts +23 -3
  47. package/dist/renderers/record-alert.d.ts.map +1 -1
  48. package/dist/renderers/record-alert.readProps.d.ts +40 -0
  49. package/dist/renderers/record-alert.readProps.d.ts.map +1 -0
  50. package/dist/renderers/record-chatter.d.ts.map +1 -1
  51. package/dist/renderers/record-details.d.ts +2 -0
  52. package/dist/renderers/record-details.d.ts.map +1 -1
  53. package/dist/renderers/record-highlights.d.ts.map +1 -1
  54. package/dist/renderers/record-history.d.ts +1 -1
  55. package/dist/renderers/record-history.d.ts.map +1 -1
  56. package/dist/renderers/record-path.d.ts.map +1 -1
  57. package/dist/renderers/record-quick-actions.d.ts +16 -6
  58. package/dist/renderers/record-quick-actions.d.ts.map +1 -1
  59. package/dist/renderers/record-reference-rail.d.ts +40 -0
  60. package/dist/renderers/record-reference-rail.d.ts.map +1 -1
  61. package/dist/renderers/record-related-list.d.ts +37 -3
  62. package/dist/renderers/record-related-list.d.ts.map +1 -1
  63. package/dist/renderers/recordActivityFeed.d.ts +272 -20
  64. package/dist/renderers/recordActivityFeed.d.ts.map +1 -1
  65. package/dist/renderers/recordComponentAria.d.ts +44 -0
  66. package/dist/renderers/recordComponentAria.d.ts.map +1 -0
  67. package/dist/renderers/relatedListActions.d.ts +102 -0
  68. package/dist/renderers/relatedListActions.d.ts.map +1 -0
  69. package/dist/summaryChipPercent.d.ts +83 -0
  70. package/dist/summaryChipPercent.d.ts.map +1 -0
  71. package/dist/summaryChipRenderers.d.ts +83 -0
  72. package/dist/summaryChipRenderers.d.ts.map +1 -0
  73. package/dist/synth/buildDefaultPageSchema.d.ts +98 -17
  74. package/dist/synth/buildDefaultPageSchema.d.ts.map +1 -1
  75. package/dist/useDetailTranslation.d.ts.map +1 -1
  76. package/dist/useRecordEditable.d.ts +1 -1
  77. package/dist/useRecordEditable.d.ts.map +1 -1
  78. package/package.json +19 -18
  79. package/dist/CommentInput.d.ts +0 -24
  80. package/dist/CommentInput.d.ts.map +0 -1
  81. package/dist/DiffView.d.ts +0 -24
  82. package/dist/DiffView.d.ts.map +0 -1
  83. package/dist/InlineCreateRelated.d.ts +0 -32
  84. package/dist/InlineCreateRelated.d.ts.map +0 -1
  85. package/dist/MentionAutocomplete.d.ts +0 -43
  86. package/dist/MentionAutocomplete.d.ts.map +0 -1
  87. package/dist/PointInTimeRestore.d.ts +0 -28
  88. package/dist/PointInTimeRestore.d.ts.map +0 -1
  89. package/dist/RecordNavigationEnhanced.d.ts +0 -18
  90. package/dist/RecordNavigationEnhanced.d.ts.map +0 -1
  91. package/dist/RelationshipGraph.d.ts +0 -23
  92. package/dist/RelationshipGraph.d.ts.map +0 -1
@@ -0,0 +1,83 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ /**
9
+ * Which field kinds the `summaryFields` chip beside the record H1 may draw
10
+ * with the field's OWN cell renderer, and which it may not (objectui#8464).
11
+ *
12
+ * ## Why this set exists at all
13
+ *
14
+ * The chip's display was `String(val)` with four families special-cased, so an
15
+ * object-valued summary field printed the literal `[object Object]` beside the
16
+ * H1 — and, because the chip's accessible name is built from that same string,
17
+ * in its accessible name too. The fix routes such a value through
18
+ * `getCellRenderer`, the way `HeaderHighlight` one band below already does.
19
+ *
20
+ * ⚠️ That route is NOT free, and this set is the measurement that says so. A
21
+ * Badge is a `whitespace-nowrap rounded-full` pill — a much smaller surface
22
+ * than a cell — and some registered types draw something a pill cannot host.
23
+ * Measured, not assumed: every registered type was rendered through
24
+ * `getCellRenderer` INSIDE the real chip Badge against the object value
25
+ * `{ id: 'acct-1', name: 'Acme Corp' }`, and the DOM inside the pill counted.
26
+ * The instrument is `__tests__/summaryChip.badgeFitCensus-8464.test.tsx`,
27
+ * which re-derives the whole table and fails if this set stops matching it.
28
+ *
29
+ * ⛔ The size of that population is deliberately NOT written down here
30
+ * (objectui#8734, AGENTS.md #9). It used to read "18 of the 53 registered
31
+ * types" — a figure derived once, re-derived never, and still true on the day
32
+ * it went stale. The census now takes its population from
33
+ * `listCellRendererTypes()`, `@object-ui/fields`' live reading of the registry,
34
+ * so the count lives in the instrument that re-derives it and nowhere else.
35
+ *
36
+ * ## The five measured refusals
37
+ *
38
+ * | class | types | what the pill got |
39
+ * |-------------------------------|--------------------------------------------------------|-------------------------------------------------------|
40
+ * | a pill inside a pill | `select` `status` `multiselect` `radio` `checkboxes` `tags` | `SelectCellRenderer`'s own `Badge` — one `rounded-full` node nested in the chip's own |
41
+ * | an avatar composite | `user` | TWO `rounded-full` nodes (Radix `Avatar.Root` + `AvatarFallback`) and the initials glued onto the name: `ACAcme Corp` |
42
+ * | an image and no text | `image` `avatar` `signature` | an `<img>` and `textContent === ''` — a pill with nothing to say, and nothing for the accessible name |
43
+ * | a "No value" face | `boolean` `toggle` `datetime` `repeater` (`EmptyValue`), `date` (`formatDate`'s own em-dash, objectui#8581) | the chip is drawn only AFTER `hasCellValue` called the value FILLED; a renderer answering "empty" one band later re-opens exactly the cross-band contradiction objectui#8394 closed |
44
+ * | an interactive control | `file` `video` `audio` (objectui#9161) | an `<a href>` view/download link per file — a control, and the page-title row hosts text |
45
+ *
46
+ * Every other registered type draws plain inline text inside the pill —
47
+ * `Acme Corp` for
48
+ * the nameable families, the JSON literal for `location` / `geolocation` /
49
+ * `address` / `json` / `object` / `composite` / `record` behind objectui#8481's
50
+ * declared json-literal fence, and the value-independent faces (`password`,
51
+ * `secret`, `vector`, `grid`).
52
+ *
53
+ * ## What the refused kinds get instead — NOT a stringifier written here
54
+ *
55
+ * They fall to `coerceToSafeValue`, `@object-ui/fields`' single documented
56
+ * answer to "what text does a cell draw for a value that is not a string".
57
+ * objectui#8596 ruled `select` / `status` / `multiselect` / `radio` /
58
+ * `checkboxes` / `tags` / `user` onto exactly that text for an object value, so
59
+ * for 7 of these 18 the chip is BYTE-EQUAL to its own cell. ⛔ Nothing here
60
+ * invents a renderer-side format (AGENTS.md #0.1): every kind lands either on
61
+ * its own renderer or on the one coercion this repo already had.
62
+ */
63
+ export declare const CHIP_UNFIT_RENDERER_TYPES: ReadonlySet<string>;
64
+ /**
65
+ * May the chip draw `rendererType` with the field's own cell renderer?
66
+ *
67
+ * Takes the type ALREADY resolved through `resolveCellRendererType`, because
68
+ * that is the key `getCellRenderer` dispatches on — asking this question of the
69
+ * authored spelling would answer for a renderer the chip is not about to use.
70
+ *
71
+ * ⚠️ **The default is PERMISSIVE, and what makes that safe is the census, not
72
+ * this function** (objectui#8734). A type absent from
73
+ * {@link CHIP_UNFIT_RENDERER_TYPES} is admitted, so an UNMEASURED type is
74
+ * admitted too. Inverting that — unknown ⇒ refused — is not the free repair it
75
+ * looks like: it would silently downgrade a legitimately-fitting new type to
76
+ * `coerceToSafeValue`, which is a product decision about the chip and not a
77
+ * defect. What objectui#8734 closed instead is the way an unknown type used to
78
+ * arrive: unnoticed. The census reconciles its table against
79
+ * `listCellRendererTypes()`, so a newly registered type turns CI red and names
80
+ * itself before it can reach this predicate in a release.
81
+ */
82
+ export declare function chipTakesCellRenderer(rendererType: string): boolean;
83
+ //# sourceMappingURL=summaryChipRenderers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summaryChipRenderers.d.ts","sourceRoot":"","sources":["../src/summaryChipRenderers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAgCxD,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEnE"}
@@ -18,13 +18,30 @@ export interface ObjectDefLike {
18
18
  /** Semantic role (ADR-0085): the object's most important fields —
19
19
  * drives the highlight strip (first 4). */
20
20
  highlightFields?: string[];
21
- /** Name of the field that holds the record's display title (e.g. `name`,
22
- * `subject`). When present we exclude it from the auto-derived highlight
23
- * list to avoid duplicating the page H1. */
21
+ /**
22
+ * ACCEPTED BUT NEVER READ — do not "tidy" this away (objectui#7287).
23
+ *
24
+ * `primaryField` is a `DetailViewSchema` key (`@object-ui/types` `views.ts`),
25
+ * and reading it off an OBJECT def is the defect objectui#7287 removed:
26
+ * `resolveTitleField` now delegates to `@object-ui/core`'s `resolveNameField`
27
+ * and no code in this module consults this member. No producer can populate
28
+ * it either — `@objectstack/spec`'s object schema is a `strictObject` that
29
+ * answers `unrecognized_keys: ['primaryField']`.
30
+ *
31
+ * It stays declared because this interface is REACHABLE, which is a
32
+ * different question from what it describes: `ObjectDefLike` is re-exported
33
+ * from this package's index and `@object-ui/plugin-detail` is published, so
34
+ * the member is part of a shipped `.d.ts`. Deleting it narrows a published
35
+ * type — an external `const d: ObjectDefLike = { primaryField: 'x' }`
36
+ * compiles today and would stop compiling — and that is a contract change
37
+ * owed its own card, not a rider on a behaviour fix. Retiring it is a
38
+ * deliberate act for someone to take on purpose.
39
+ */
24
40
  primaryField?: string;
25
- /** Optional section grouping for the details region. */
41
+ /** Optional section grouping for the details region. The heading rides
42
+ * `label` — the one slot `@object-ui/types` declares (objectui#6190). */
26
43
  sections?: Array<{
27
- title?: string;
44
+ label?: string;
28
45
  columns?: number;
29
46
  fields?: any[];
30
47
  }>;
@@ -55,7 +72,7 @@ export interface ObjectDefLike {
55
72
  fieldGroups?: Array<Partial<NonNullable<ServiceObject['fieldGroups']>[number]>>;
56
73
  /**
57
74
  * Spec `enable` capability toggles. Only `files` is read here:
58
- * `enable.files === true` (opt-in, #2727) makes the synthesizer emit an
75
+ * `enable.files === true` (opt-in, objectstack-ai/objectstack#2727) makes the synthesizer emit an
59
76
  * Attachments tab beside Details/Related (objectstack#4358).
60
77
  */
61
78
  enable?: {
@@ -100,9 +117,10 @@ export interface BuildPageOptions {
100
117
  value: any;
101
118
  label: string;
102
119
  }>;
103
- /** Override the auto-derived section grouping. */
120
+ /** Override the auto-derived section grouping. The heading rides `label` —
121
+ * the one slot `@object-ui/types` declares (objectui#6190). */
104
122
  sections?: Array<{
105
- title?: string;
123
+ label?: string;
106
124
  columns?: number;
107
125
  fields?: any[];
108
126
  }>;
@@ -118,9 +136,13 @@ export interface BuildPageOptions {
118
136
  * Opt in to the Reference Rail (aside region with
119
137
  * `record:reference_rail`). The rail is OFF by default — it fans out a
120
138
  * collection query per related list, which is wasteful on records the
121
- * author never intended to summarize. Set `showReferenceRail: true`
122
- * (per object via `detail.showReferenceRail`) to surface it; it then
139
+ * author never intended to summarize. Set `showReferenceRail: true` on
140
+ * this options object to surface it — that is the only route: ADR-0085
141
+ * removed the per-object `detail` hints block, so no object definition
142
+ * can switch the rail on, and a per-page rail is an authored
143
+ * `record:reference_rail` node in an assigned Page schema. It then
123
144
  * emits only when `related` has at least 2 entries.
145
+ * Pinned by `__tests__/referenceRailRoute-9816.test.ts`.
124
146
  */
125
147
  showReferenceRail?: boolean;
126
148
  /**
@@ -150,7 +172,7 @@ export interface BuildPageOptions {
150
172
  *
151
173
  * - `objectName` and `relationshipField` are required.
152
174
  * - `title` overrides the default child-object label.
153
- * - `columns` / `limit` / `icon` are forwarded to the renderer.
175
+ * - `columns` / `limit` / `icon` / `sort` are forwarded to the renderer.
154
176
  */
155
177
  related?: Array<{
156
178
  title?: string;
@@ -159,6 +181,40 @@ export interface BuildPageOptions {
159
181
  columns?: any[];
160
182
  limit?: number;
161
183
  icon?: string;
184
+ /**
185
+ * Row order for this list — the spec `record:related_list.sort` union,
186
+ * forwarded verbatim onto the synthesized node.
187
+ *
188
+ * The host supplies it; this synthesizer neither derives nor overrides it.
189
+ * `RecordDetailView` fills it from the child object's DEFAULT LIST VIEW
190
+ * sort (objectui#5795 — ruled direction 1 on objectstack#11345,
191
+ * maintainer 2026-08-23: inherit the child list view's sort, NO new spec
192
+ * key), already lowered to the array arm. Omitted → the node carries no
193
+ * `sort` and the related list falls back to the server's PK order, exactly
194
+ * as before this key had a producer.
195
+ */
196
+ sort?: string | Array<{
197
+ field: string;
198
+ order: 'asc' | 'desc';
199
+ }>;
200
+ /**
201
+ * This list's own declared SCOPE — forwarded verbatim onto the synthesized
202
+ * node's `filter`, the key `record:related_list` has read since
203
+ * objectstack#7118 (`RelatedList` ANDs it with `{ [relationshipField]:
204
+ * parentId }`, never substituting for it).
205
+ *
206
+ * The host supplies it; this synthesizer neither derives nor merges it.
207
+ * `RecordDetailView` fills it from the FK field's `relatedListFilter`
208
+ * (objectui#4664 — the spec key from objectstack#8704 / PR objectstack-ai/objectstack#8955), already
209
+ * in the canonical Query-DSL `FilterCondition` shape that key declares. The
210
+ * component-level authored `filter` and this derived one are therefore the
211
+ * same vocabulary arriving at the same prop, which is the point: one read
212
+ * site, one lowering, no per-producer dialect.
213
+ *
214
+ * Omitted → the node carries no `filter` and the list sends the parent
215
+ * scope alone, exactly as before this key had a producer.
216
+ */
217
+ filter?: Record<string, any> | any[];
162
218
  /**
163
219
  * `relatedList: 'primary'` — a CORE relationship. Under the default
164
220
  * layout this list is promoted to its OWN tab; non-primary lists collapse
@@ -276,11 +332,36 @@ export declare function deriveStages(def: ObjectDefLike | undefined, statusField
276
332
  label: string;
277
333
  }> | null;
278
334
  /**
279
- * Resolve the record's title field — the value the page renders as its H1.
280
- * Declared role first (`primaryField` / `nameField` / deprecated
281
- * `displayNameField`), else the first conventional display-field name present
282
- * on the object. Mirrors `record-details`' titleCandidates so "what the H1
283
- * shows" and "what the strip skips" can never disagree.
335
+ * WHICH FIELD titles this record — the field whose value the page renders as
336
+ * its H1, in NAME space.
337
+ *
338
+ * DELEGATES to `@object-ui/core`'s `resolveNameField`: the ONE shared ADR-0079
339
+ * ladder (`nameField` -> deprecated `displayNameField` / `NAME_FIELD_KEY` ->
340
+ * type-aware derivation), the same spelling `getRecordDisplayName` reads to
341
+ * produce the H1's VALUE and `leadWithNameField` reads to lead a list. It does
342
+ * not re-implement that ladder. ADR-0079 collapsed ~6 divergent title
343
+ * resolvers and this module grew one back (objectui#7287); a second ladder
344
+ * that agrees today diverges again on the next change, which is the whole
345
+ * history of this defect.
346
+ *
347
+ * Two rungs went away with the delegation:
348
+ *
349
+ * - `def.primaryField` — a `DetailViewSchema` key (`@object-ui/types`
350
+ * `views.ts`), read here off an OBJECT def and ranked ABOVE the canonical
351
+ * `nameField` ADR-0079 Phase 2 made the pointer. No producer can put it
352
+ * there: `@objectstack/spec`'s object schema is a `strictObject` that
353
+ * answers `unrecognized_keys: ['primaryField']`, and `ObjectSchema.create()`
354
+ * throws — which is why objectstack#6326 deleted the identical read from
355
+ * two lint rules. A census across both repos found zero object payloads
356
+ * carrying it. Same shape as the undeclared `objectDef.titleField` read
357
+ * objectui#6531 measured and #6557 removed.
358
+ * - the literal `['name','full_name','title','subject','display_name']` walk
359
+ * — a NAME match with no type check. `deriveTitleField` ranks those same
360
+ * name-ish names first AND rejects non-title types, so a `select` named
361
+ * `title` stops being named as the H1 field that the H1 never shows.
362
+ *
363
+ * Returns `null` rather than `undefined` for this module's `!== titleField`
364
+ * filters and app-shell's `?? 'name'` call site.
284
365
  */
285
366
  export declare function resolveTitleField(def: ObjectDefLike | undefined): string | null;
286
367
  /**
@@ -356,7 +437,7 @@ export declare function buildDefaultTabs(def: ObjectDefLike | undefined, options
356
437
  */
357
438
  export declare function buildDefaultDiscussion(): any;
358
439
  /**
359
- * Sub-builder: the `record:attachments` panel (#2727). Emitted only when the
440
+ * Sub-builder: the `record:attachments` panel (objectstack-ai/objectstack#2727). Emitted only when the
360
441
  * object opts in via `enable.files: true` — the same gate the server enforces
361
442
  * on `sys_attachment` rows (403 FILES_DISABLED otherwise).
362
443
  */
@@ -1 +1 @@
1
- {"version":3,"file":"buildDefaultPageSchema.d.ts","sourceRoot":"","sources":["../../src/synth/buildDefaultPageSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildDefaultPageSchema.d.ts","sourceRoot":"","sources":["../../src/synth/buildDefaultPageSchema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDetailTranslation.d.ts","sourceRoot":"","sources":["../src/useDetailTranslation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,8BAAwB,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2N9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB;4BA/PhC,CAAC;;;;;CAkQD,CAAC"}
1
+ {"version":3,"file":"useDetailTranslation.d.ts","sourceRoot":"","sources":["../src/useDetailTranslation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,8BAAwB,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8O9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB;4BAlRhC,CAAC;;;;;CAqRD,CAAC"}
@@ -7,6 +7,6 @@
7
7
  */
8
8
  export type RecordOperation = 'update' | 'delete';
9
9
  export declare function useRecordEditable(objectName: string | undefined, recordId: string | undefined, operation?: RecordOperation, enabled?: boolean): boolean;
10
- /** Test seam — drops the memoised verdicts. */
10
+ /** Test seam — drops the memoised verdicts AND the principal they were for. */
11
11
  export declare function __clearRecordEditableCache(): void;
12
12
  //# sourceMappingURL=useRecordEditable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRecordEditable.d.ts","sourceRoot":"","sources":["../src/useRecordEditable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuCH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,GAAE,eAA0B,EACrC,OAAO,UAAO,GACb,OAAO,CA6CT;AAED,+CAA+C;AAC/C,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
1
+ {"version":3,"file":"useRecordEditable.d.ts","sourceRoot":"","sources":["../src/useRecordEditable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0KH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,GAAE,eAA0B,EACrC,OAAO,UAAO,GACb,OAAO,CAyET;AAED,+EAA+E;AAC/E,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@object-ui/plugin-detail",
3
- "version": "17.6.0",
3
+ "version": "17.7.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "DetailView plugin for Object UI - comprehensive detail page with sections, tabs, and related lists",
@@ -24,20 +24,20 @@
24
24
  }
25
25
  },
26
26
  "dependencies": {
27
- "@objectstack/spec": "^17.0.0",
28
- "lucide-react": "^1.31.0",
29
- "@object-ui/i18n": "17.6.0"
27
+ "@objectstack/spec": "^17.5.0",
28
+ "lucide-react": "^1.43.0",
29
+ "@object-ui/i18n": "17.7.0"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "react": "^18.0.0 || ^19.0.0",
33
33
  "react-dom": "^18.0.0 || ^19.0.0",
34
34
  "react-router-dom": "^6.0.0 || ^7.0.0",
35
- "@object-ui/components": "^17.6.0",
36
- "@object-ui/core": "^17.6.0",
37
- "@object-ui/fields": "^17.6.0",
38
- "@object-ui/permissions": "^17.6.0",
39
- "@object-ui/react": "^17.6.0",
40
- "@object-ui/types": "^17.6.0"
35
+ "@object-ui/components": "^17.7.0",
36
+ "@object-ui/core": "^17.7.0",
37
+ "@object-ui/fields": "^17.7.0",
38
+ "@object-ui/permissions": "^17.7.0",
39
+ "@object-ui/react": "^17.7.0",
40
+ "@object-ui/types": "^17.7.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/react": "19.2.18",
@@ -47,13 +47,14 @@
47
47
  "vite": "^8.2.1",
48
48
  "vite-plugin-dts": "^5.0.3",
49
49
  "vitest": "^4.1.10",
50
- "@object-ui/components": "17.6.0",
51
- "@object-ui/core": "17.6.0",
52
- "@object-ui/fields": "17.6.0",
53
- "@object-ui/permissions": "17.6.0",
50
+ "@object-ui/components": "17.7.0",
51
+ "@object-ui/core": "17.7.0",
52
+ "@object-ui/fields": "17.7.0",
53
+ "@object-ui/permissions": "17.7.0",
54
54
  "@object-ui/test-support": "17.4.0",
55
- "@object-ui/react": "17.6.0",
56
- "@object-ui/types": "17.6.0"
55
+ "@object-ui/react": "17.7.0",
56
+ "@object-ui/sdui-parser": "17.7.0",
57
+ "@object-ui/types": "17.7.0"
57
58
  },
58
59
  "keywords": [
59
60
  "objectui",
@@ -79,8 +80,8 @@
79
80
  ],
80
81
  "scripts": {
81
82
  "build": "vite build",
82
- "test": "vitest run",
83
- "test:watch": "vitest",
83
+ "test": "vitest run --root ../.. packages/plugin-detail/",
84
+ "test:watch": "vitest --root ../.. packages/plugin-detail/",
84
85
  "type-check": "tsc --noEmit && tsc -p tsconfig.test.json",
85
86
  "lint": "eslint ."
86
87
  }
@@ -1,24 +0,0 @@
1
- /**
2
- * ObjectUI
3
- * Copyright (c) 2024-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- import * as React from 'react';
9
- export interface CommentInputProps {
10
- /** Called when a comment is submitted */
11
- onSubmit: (text: string) => void | Promise<void>;
12
- /** Placeholder text */
13
- placeholder?: string;
14
- /** Whether the input is disabled */
15
- disabled?: boolean;
16
- className?: string;
17
- }
18
- /**
19
- * CommentInput — Simple comment input component.
20
- * Renders a "Leave a comment" textarea with submit button.
21
- * Supports Ctrl+Enter to submit.
22
- */
23
- export declare const CommentInput: React.FC<CommentInputProps>;
24
- //# sourceMappingURL=CommentInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommentInput.d.ts","sourceRoot":"","sources":["../src/CommentInput.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqDpD,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * ObjectUI
3
- * Copyright (c) 2024-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- import * as React from 'react';
9
- export type DiffFieldType = 'string' | 'number' | 'boolean' | 'json' | 'date';
10
- export type DiffMode = 'unified' | 'side-by-side';
11
- export interface DiffLine {
12
- type: 'added' | 'removed' | 'unchanged';
13
- value: string;
14
- }
15
- export interface DiffViewProps {
16
- oldValue: any;
17
- newValue: any;
18
- fieldName: string;
19
- fieldType?: DiffFieldType;
20
- mode?: DiffMode;
21
- className?: string;
22
- }
23
- export declare const DiffView: React.FC<DiffViewProps>;
24
- //# sourceMappingURL=DiffView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DiffView.d.ts","sourceRoot":"","sources":["../src/DiffView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9E,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA2I5C,CAAC"}
@@ -1,32 +0,0 @@
1
- /**
2
- * ObjectUI
3
- * Copyright (c) 2024-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- import * as React from 'react';
9
- export interface RelatedFieldDefinition {
10
- name: string;
11
- label: string;
12
- type: 'string' | 'number' | 'boolean' | 'date';
13
- required?: boolean;
14
- placeholder?: string;
15
- }
16
- export interface RelatedRecordOption {
17
- id: string;
18
- label: string;
19
- description?: string;
20
- }
21
- export interface InlineCreateRelatedProps {
22
- objectName: string;
23
- relationshipField: string;
24
- fields: RelatedFieldDefinition[];
25
- onCreateRecord?: (values: Record<string, any>) => void | Promise<void>;
26
- onLinkRecord?: (recordId: string) => void | Promise<void>;
27
- onSearch?: (query: string) => Promise<RelatedRecordOption[]>;
28
- existingRecords?: RelatedRecordOption[];
29
- className?: string;
30
- }
31
- export declare const InlineCreateRelated: React.FC<InlineCreateRelatedProps>;
32
- //# sourceMappingURL=InlineCreateRelated.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InlineCreateRelated.d.ts","sourceRoot":"","sources":["../src/InlineCreateRelated.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7D,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAiUlE,CAAC"}
@@ -1,43 +0,0 @@
1
- import { Mention } from '@object-ui/types';
2
- /**
3
- * ObjectUI
4
- * Copyright (c) 2024-present ObjectStack Inc.
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- import * as React from 'react';
10
- export interface MentionSuggestionItem {
11
- /** Entity ID */
12
- id: string;
13
- /** Display name */
14
- name: string;
15
- /** Avatar URL */
16
- avatarUrl?: string;
17
- /** Entity type */
18
- type: 'user' | 'team' | 'group';
19
- }
20
- export interface MentionAutocompleteProps {
21
- /** Search query (text after @) */
22
- query: string;
23
- /** Available suggestions */
24
- suggestions: MentionSuggestionItem[];
25
- /** Called when a suggestion is selected */
26
- onSelect: (item: MentionSuggestionItem) => void;
27
- /** Whether the dropdown is visible */
28
- visible?: boolean;
29
- /** Active/highlighted index */
30
- activeIndex?: number;
31
- className?: string;
32
- }
33
- /**
34
- * MentionAutocomplete — Dropdown for @mention autocomplete.
35
- * Filters suggestions by query and renders a selectable list.
36
- * Produces MentionSchema data on selection.
37
- */
38
- export declare const MentionAutocomplete: React.FC<MentionAutocompleteProps>;
39
- /**
40
- * Helper to create a Mention object from a suggestion item.
41
- */
42
- export declare function createMentionFromSuggestion(item: MentionSuggestionItem, offset: number, length: number): Mention;
43
- //# sourceMappingURL=MentionAutocomplete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MentionAutocomplete.d.ts","sourceRoot":"","sources":["../src/MentionAutocomplete.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChD,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+DlE,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAQT"}
@@ -1,28 +0,0 @@
1
- /**
2
- * ObjectUI
3
- * Copyright (c) 2024-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- import * as React from 'react';
9
- export interface RevisionEntry {
10
- id: string;
11
- timestamp: string;
12
- user: string;
13
- changes: {
14
- field: string;
15
- oldValue: any;
16
- newValue: any;
17
- }[];
18
- /** Full record snapshot at this revision point. */
19
- snapshot?: Record<string, any>;
20
- }
21
- export interface PointInTimeRestoreProps {
22
- recordId: string;
23
- revisions: RevisionEntry[];
24
- onRestore?: (revisionId: string, snapshot: Record<string, any>) => void | Promise<void>;
25
- className?: string;
26
- }
27
- export declare const PointInTimeRestore: React.FC<PointInTimeRestoreProps>;
28
- //# sourceMappingURL=PointInTimeRestore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PointInTimeRestore.d.ts","sourceRoot":"","sources":["../src/PointInTimeRestore.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,EAAE,CAAC;IAC3D,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgNhE,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * ObjectUI
3
- * Copyright (c) 2024-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- import * as React from 'react';
9
- export interface RecordNavigationEnhancedProps {
10
- currentIndex: number;
11
- totalRecords: number;
12
- recordIds: string[];
13
- onNavigate: (recordId: string) => void;
14
- onSearch?: (query: string) => void;
15
- className?: string;
16
- }
17
- export declare const RecordNavigationEnhanced: React.FC<RecordNavigationEnhancedProps>;
18
- //# sourceMappingURL=RecordNavigationEnhanced.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecordNavigationEnhanced.d.ts","sourceRoot":"","sources":["../src/RecordNavigationEnhanced.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAwL5E,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * ObjectUI
3
- * Copyright (c) 2024-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- import * as React from 'react';
9
- export interface GraphNode {
10
- id: string;
11
- label: string;
12
- type?: string;
13
- relatedRecords?: GraphNode[];
14
- }
15
- export interface RelationshipGraphProps {
16
- record: GraphNode;
17
- relatedRecords: GraphNode[];
18
- levels?: number;
19
- onNodeClick?: (nodeId: string) => void;
20
- className?: string;
21
- }
22
- export declare const RelationshipGraph: React.FC<RelationshipGraphProps>;
23
- //# sourceMappingURL=RelationshipGraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RelationshipGraph.d.ts","sourceRoot":"","sources":["../src/RelationshipGraph.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsHD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA8I9D,CAAC"}