@object-ui/plugin-detail 14.0.0 → 15.0.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/CHANGELOG.md +264 -0
- package/README.md +27 -0
- package/dist/DetailSection.d.ts.map +1 -1
- package/dist/DetailView.d.ts +6 -3
- package/dist/DetailView.d.ts.map +1 -1
- package/dist/HeaderHighlight.d.ts +2 -0
- package/dist/HeaderHighlight.d.ts.map +1 -1
- package/dist/InlineEditSaveBar.d.ts +57 -0
- package/dist/InlineEditSaveBar.d.ts.map +1 -0
- package/dist/InlineFieldInput.d.ts +59 -0
- package/dist/InlineFieldInput.d.ts.map +1 -0
- package/dist/RecordDetailDrawer.d.ts.map +1 -1
- package/dist/RecordMetaFooter.d.ts.map +1 -1
- package/dist/RelatedList.d.ts.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1499 -1453
- package/dist/index.umd.cjs +3 -3
- package/dist/renderers/record-details.d.ts.map +1 -1
- package/dist/renderers/record-highlights.d.ts.map +1 -1
- package/dist/renderers/record-related-list.d.ts.map +1 -1
- package/dist/synth/buildDefaultPageSchema.d.ts +15 -31
- package/dist/synth/buildDefaultPageSchema.d.ts.map +1 -1
- package/dist/useDetailTranslation.d.ts.map +1 -1
- package/package.json +13 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,269 @@
|
|
|
1
1
|
# @object-ui/plugin-detail
|
|
2
2
|
|
|
3
|
+
## 15.0.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- bb22788: Inline-edit field enrichment passes `min`/`max`/`step` through to the numeric
|
|
8
|
+
editors (objectui#2572 live dogfood find). Both `DetailSection` and
|
|
9
|
+
`HeaderHighlight` copy an explicit whitelist of objectSchema keys into the
|
|
10
|
+
enriched field they hand `InlineFieldInput`; the numeric range/step
|
|
11
|
+
constraints were missing from that list, so a currency field declaring
|
|
12
|
+
`min: 0` rendered a number input with no range affordance. Adds a live e2e
|
|
13
|
+
spec (`e2e/live/inline-edit-polish-2572.spec.ts`) driving the whole #2572
|
|
14
|
+
polish set against the real showcase stack.
|
|
15
|
+
- @object-ui/types@15.0.0
|
|
16
|
+
- @object-ui/core@15.0.0
|
|
17
|
+
- @object-ui/i18n@15.0.0
|
|
18
|
+
- @object-ui/react@15.0.0
|
|
19
|
+
- @object-ui/components@15.0.0
|
|
20
|
+
- @object-ui/fields@15.0.0
|
|
21
|
+
- @object-ui/permissions@15.0.0
|
|
22
|
+
|
|
23
|
+
## 14.1.0
|
|
24
|
+
|
|
25
|
+
### Minor Changes
|
|
26
|
+
|
|
27
|
+
- 471c5d3: feat(detail): editable record highlights on the shared inline-edit draft (objectui#2407 P2)
|
|
28
|
+
|
|
29
|
+
The highlights strip is now editable in place and shares ONE draft + ONE atomic
|
|
30
|
+
Save with the details body (building on the P1 `InlineEditContext` / `#2529`
|
|
31
|
+
`InlineFieldInput`).
|
|
32
|
+
|
|
33
|
+
- **`HeaderHighlight`** consumes `useInlineEdit()`: hovering a highlight shows a
|
|
34
|
+
pencil and double-click enters the shared record edit session; each editable
|
|
35
|
+
highlight renders the same `<InlineFieldInput>` the body uses (value =
|
|
36
|
+
`draft[name] ?? data[name]`, write via `setField`). Computed
|
|
37
|
+
(`formula`/`summary`/`rollup`/`auto_number`), `readonly`, and system fields
|
|
38
|
+
expose no editor. Empty highlights are kept while editing so they can be
|
|
39
|
+
filled. Compact-layout UX: an actively-edited column widens and renders the
|
|
40
|
+
editor full-width (Salesforce-style expand-on-edit).
|
|
41
|
+
- **`RecordDetailView`** (app-shell) hosts ONE `<InlineEditProvider>` (with the
|
|
42
|
+
object-lifecycle `canEdit` gate) spanning both `record:highlights` and
|
|
43
|
+
`record:details`, plus the single record-level `<InlineEditSaveBar>` — so a
|
|
44
|
+
highlight edit and a body edit commit together in ONE
|
|
45
|
+
`update(obj, id, draft, { ifMatch })`.
|
|
46
|
+
- **`record:details`** drops its P1-local provider/save bar (it would otherwise
|
|
47
|
+
split the draft from the highlights) and just consumes the shared context;
|
|
48
|
+
**`record:highlights`** threads the DataSource through for lookup/user editors.
|
|
49
|
+
|
|
50
|
+
Guardrails preserved: computed/readonly/system highlights non-editable; `canEdit`
|
|
51
|
+
gate; OCC (`ifMatch` + `ConcurrentUpdateDialog`); only user-edited keys are sent.
|
|
52
|
+
|
|
53
|
+
- 579b24d: feat(fields+form+detail): file/image uploads in inline line-item grids (#2360)
|
|
54
|
+
|
|
55
|
+
`Field.file` in a master-detail inline grid previously degraded to a plain text
|
|
56
|
+
input (no `input[type=file]` on the page → no way to upload from the grid), and
|
|
57
|
+
auto-derived subform / related-list columns silently dropped file fields.
|
|
58
|
+
|
|
59
|
+
- **fields**: new `FileCell` — a compact upload control for grid cells (upload
|
|
60
|
+
button + removable chips, image thumbnails), sharing the `UploadProvider`
|
|
61
|
+
pipeline with the full-size `FileField` via an extracted `useFileUploads`
|
|
62
|
+
hook. `GridField` supports `type: 'file'` columns (with `accept` /
|
|
63
|
+
`multiple`), renders file names in list/readonly modes, and no longer falls
|
|
64
|
+
back to a text `<Input>` for file columns.
|
|
65
|
+
- **plugin-form**: `deriveColumns` / `hydrateColumns` no longer exclude
|
|
66
|
+
`file`/`image`/`avatar` fields — they map to `file` columns and carry the
|
|
67
|
+
field's `multiple` + `accept` (image fields default to `['image/*']`).
|
|
68
|
+
- **plugin-detail**: auto-derived related-list columns no longer skip
|
|
69
|
+
`file`/`image` fields — they render through the existing FileCellRenderer /
|
|
70
|
+
ImageCellRenderer (file-name chip / thumbnail).
|
|
71
|
+
|
|
72
|
+
- 5b52624: feat(detail): record-level inline edit — shared `InlineEditContext` + one atomic Save (objectui#2407 P1)
|
|
73
|
+
|
|
74
|
+
Lift the inline-edit session out of `DetailView`'s private state into a
|
|
75
|
+
record-level, shared context so a record page's surfaces can share ONE draft and
|
|
76
|
+
commit it in ONE atomic, cross-field-validated write (replacing the per-field
|
|
77
|
+
save loop).
|
|
78
|
+
|
|
79
|
+
- **`InlineEditContext` / `InlineEditProvider` / `useInlineEdit`** (@object-ui/react)
|
|
80
|
+
— pure UI state (`editing`, `canEdit`, `draft`, `autoFocusField`, `saving`,
|
|
81
|
+
`error` + `enter` / `setField` / `cancel` / `reset`). A _separate_ context from
|
|
82
|
+
`RecordContext` (mirrors `HighlightFieldsContext`) so per-keystroke draft churn
|
|
83
|
+
doesn't re-render other `record:*` consumers.
|
|
84
|
+
- **`<InlineEditSaveBar>`** (@object-ui/plugin-detail) — the record-level sticky
|
|
85
|
+
Save/Cancel bar. Commits the whole draft in ONE
|
|
86
|
+
`dataSource.update(obj, id, draft, { ifMatch: data.updated_at })` → `refresh()`;
|
|
87
|
+
a `409 CONCURRENT_UPDATE` reuses `<ConcurrentUpdateDialog>` (reload / overwrite).
|
|
88
|
+
A callback mode (`onFieldSave`) preserves the drawer's per-field persistence
|
|
89
|
+
contract with plugin-gantt/calendar/kanban.
|
|
90
|
+
- **`DetailView`** now consumes `useInlineEdit()` instead of owning inline-edit
|
|
91
|
+
state; its header/inline Save-Cancel bars and per-field batch-save are removed
|
|
92
|
+
(the approval-lock badge stays). Rendered without a provider it is simply
|
|
93
|
+
read-only.
|
|
94
|
+
- **`record:details`** and **`RecordDetailDrawer`** each wrap their `DetailView`
|
|
95
|
+
in an `<InlineEditProvider>` + `<InlineEditSaveBar>`. The object-lifecycle /
|
|
96
|
+
permission gate flows through `canEdit`; computed / readonly / system fields
|
|
97
|
+
and the OCC path are unchanged.
|
|
98
|
+
|
|
99
|
+
Guardrails preserved: computed (`formula`/`summary`/`rollup`/`auto_number`) +
|
|
100
|
+
`readonly` + system fields expose no editor; `canEdit` gate; OCC (`ifMatch` +
|
|
101
|
+
`ConcurrentUpdateDialog`); the atomic partial update carries only user-edited
|
|
102
|
+
keys (never computed/read-only). Editable highlights ride on top of this in P2.
|
|
103
|
+
|
|
104
|
+
### Patch Changes
|
|
105
|
+
|
|
106
|
+
- 2efa9fd: Detail-page UX follow-ups from the ADR-0085 PR4 real-backend browser pass (framework#2548):
|
|
107
|
+
|
|
108
|
+
- **Highlight strip no longer repeats the record title.** A declared
|
|
109
|
+
`highlightFields` list containing the title field rendered it as the first
|
|
110
|
+
chip — truncated — directly under the identical page H1. `deriveHighlightFields`
|
|
111
|
+
now resolves the title (`primaryField` / `nameField` / deprecated
|
|
112
|
+
`displayNameField`, else the conventional display-field names) via the new
|
|
113
|
+
exported `resolveTitleField` and filters it from declared lists before the
|
|
114
|
+
4-chip cap, matching what the heuristic branch always did. app-shell's
|
|
115
|
+
`RecordDetailView` synthParts (which pre-computes the list and bypasses the
|
|
116
|
+
derivation) applies the same filter.
|
|
117
|
+
- **Per-field currency reaches the renderers.** The spec channel
|
|
118
|
+
(`currencyConfig.defaultCurrency`) was dropped by the highlight-strip and
|
|
119
|
+
detail-section field enrichment, so a spec-authored currency field could
|
|
120
|
+
never show its symbol ("25,000,000" instead of "$25,000,000");
|
|
121
|
+
`resolveFieldCurrency` reads it second after the designer-only bare
|
|
122
|
+
`currency` key.
|
|
123
|
+
- **app-shell approvals fetches send the Bearer token.** The header badge
|
|
124
|
+
poll, home-inbox count, and record-page approvals panel were cookie-only
|
|
125
|
+
(new shared `bearerAuthHeaders()` util) — same split-origin failure mode as
|
|
126
|
+
the console `approvalsApi` fix below.
|
|
127
|
+
- **`fieldGroups[].icon` / `description` reach detail pages.** The shared
|
|
128
|
+
derivation (ADR-0085 §5) already passed them through; the detail synth
|
|
129
|
+
dropped them. Sections now carry both, and `DetailSection` renders a real
|
|
130
|
+
Lucide icon for identifier-shaped names (emoji/text values keep the
|
|
131
|
+
historical text rendering).
|
|
132
|
+
- **Record meta footer stops dangling without an actor.** Seeded/system rows
|
|
133
|
+
with `created_by: null` rendered "Created by · 10m ago"; the footer now
|
|
134
|
+
falls back to actor-less labels ("Created / Updated"), with new i18n keys in
|
|
135
|
+
all six locales (and the zh `createdBy`/`updatedBy` mistranslation fixed:
|
|
136
|
+
创建人/更新人, not 创建于/更新于).
|
|
137
|
+
- **Select badges ellipsize instead of clipping mid-glyph.** In bounded
|
|
138
|
+
containers (highlight-strip columns, grid cells) an overlong option label
|
|
139
|
+
used to be cut at the container edge ("Technolog…"); badges now shrink with
|
|
140
|
+
an inner truncate and expose the full label as a hover title. The highlight
|
|
141
|
+
strip's hover title also prefers the option label over the raw stored value.
|
|
142
|
+
|
|
143
|
+
Console app (unversioned): `approvalsApi` now sends the stored Bearer token
|
|
144
|
+
like every other console call — cookie-only auth silently lost the approvals
|
|
145
|
+
surface on split-origin deployments where the SameSite cookie doesn't flow.
|
|
146
|
+
|
|
147
|
+
- f9a7907: refactor(plugin-detail): extract `<InlineFieldInput>` from `DetailSection`
|
|
148
|
+
|
|
149
|
+
Lift the inline-edit input branch out of `DetailSection` into a standalone,
|
|
150
|
+
reusable `<InlineFieldInput>` component (objectui#2407, step 0 — the
|
|
151
|
+
behavior-preserving refactor that precedes the record-level `InlineEditContext`
|
|
152
|
+
and editable-highlights work).
|
|
153
|
+
|
|
154
|
+
Behavior is unchanged: `<InlineFieldInput>` renders the exact same type-aware
|
|
155
|
+
editors the detail body handled inline — `SelectField`, `BooleanField`,
|
|
156
|
+
`LookupField`, `UserField`, `CapabilityMultiSelectField`, the
|
|
157
|
+
`permission-facet-link` read-only facet, and the plain number/date/text input
|
|
158
|
+
(with ISO-date coercion and `$expand`-ed-reference safety so an object value
|
|
159
|
+
never leaks `"[object Object]"`). `DetailSection` now delegates to it and keeps
|
|
160
|
+
the field-editability gate (computed / `readonly` / system-field / object
|
|
161
|
+
lifecycle) exactly as before. The `extractLookupId` helper and the
|
|
162
|
+
`TEXTUAL_REF_FALLBACK_TYPES` set move alongside the component.
|
|
163
|
+
|
|
164
|
+
This lets any record-level surface (the details body **and** the highlights
|
|
165
|
+
strip) share one editor, shrinking the surface of the follow-up
|
|
166
|
+
editable-highlights change. Covered by the existing `DetailSection` inline-edit
|
|
167
|
+
suites plus a new `InlineFieldInput` parity test.
|
|
168
|
+
|
|
169
|
+
- 4afb251: Record-level inline edit polish (objectui#2572, follow-up to #2407) — the five
|
|
170
|
+
rough edges from the live showcase verification pass:
|
|
171
|
+
|
|
172
|
+
- **Expanded reference values pass through to the picker.** `InlineFieldInput`
|
|
173
|
+
no longer collapses an `$expand`-ed record object to a bare id before
|
|
174
|
+
handing it to `LookupField` / `UserField` — the picker resolves the display
|
|
175
|
+
name it already carries instead of re-fetching the referenced record via
|
|
176
|
+
`findOne` (or sticking on the placeholder when it can't). `LookupField`
|
|
177
|
+
still hands its Level-2 pickers (PeoplePicker / RecordPickerDialog) bare
|
|
178
|
+
ids, collapsed via the existing `normalizeId`.
|
|
179
|
+
- **Approval-lock preflight.** The record page now re-reads the approval
|
|
180
|
+
state whenever the record is invalidated (a save can _trigger_ an approval
|
|
181
|
+
flow that locks the record), derives one `approvalLocked` signal
|
|
182
|
+
(`approval_status` pending/in_approval OR an open pending request), gates
|
|
183
|
+
the inline-edit session's `canEdit` with it — hiding the pencil affordances
|
|
184
|
+
and no-op'ing `enter()` on a locked record — and drives the save bar's
|
|
185
|
+
`locked`/`lockedHint` so users can't type into a draft that Save would
|
|
186
|
+
reject with `RECORD_LOCKED`.
|
|
187
|
+
- **Numeric field types edit with the real numeric widgets.** `number` /
|
|
188
|
+
`currency` / `percent` route to `NumberField` / `CurrencyField` /
|
|
189
|
+
`PercentField` (the same widgets the form uses) instead of a free-text
|
|
190
|
+
input: numeric keyboard, symbol adornment, fraction↔percent display
|
|
191
|
+
conversion, and numbers (not strings) into the draft. `NumberField` and
|
|
192
|
+
`CurrencyField` now surface metadata `min`/`max` on the input, `NumberField`
|
|
193
|
+
honors an explicit `step` and steps by 1 for `scale: 0` (previously fell
|
|
194
|
+
back to `any`).
|
|
195
|
+
- **Header Edit CTA stands down during an inline session.** The synthesized
|
|
196
|
+
`sys_edit` action carries `disableDuringInlineEdit`, and the `page:header`
|
|
197
|
+
renderer greys such actions out while `InlineEditContext.editing` — the
|
|
198
|
+
classic form-edit surface can no longer be stacked on top of a live inline
|
|
199
|
+
draft.
|
|
200
|
+
- **Keyboard shortcuts for the shared edit session.** `InlineEditSaveBar`
|
|
201
|
+
binds **Esc → cancel** (deferring to any open Radix layer — popover /
|
|
202
|
+
select / dialog — which owns Escape for "close") and **Cmd/Ctrl+Enter →
|
|
203
|
+
save**, both respecting `saving`/`locked`.
|
|
204
|
+
|
|
205
|
+
- 2712fc1: fix(fields+detail): resolve the pre-existing rules-of-hooks violations in the cell renderers
|
|
206
|
+
|
|
207
|
+
- `CurrencyCellRenderer` / `EmailCellRenderer` / `PhoneCellRenderer` called
|
|
208
|
+
hooks (`useLocalization`, `useFieldLabel`, `useState`) **after** their
|
|
209
|
+
empty-value early return — a value flipping between null and set changed
|
|
210
|
+
the hook count between renders (latent "Rendered more hooks than during
|
|
211
|
+
the previous render" crash). Hooks now run unconditionally before the
|
|
212
|
+
early return.
|
|
213
|
+
- `useFieldLabel` wrapped `useObjectTranslation()` in try/catch; a throw
|
|
214
|
+
after other hooks ran would desync hook order. The underlying hook is
|
|
215
|
+
provider-safe (optional context + global i18n fallback), so the guard is
|
|
216
|
+
removed.
|
|
217
|
+
- `ReferenceCellRenderer` no longer constructs JSX inside try/catch (the
|
|
218
|
+
try can't catch render errors anyway) — the display string is computed in
|
|
219
|
+
the try, rendered outside.
|
|
220
|
+
- `RecordMetaFooter`'s UserRef renders the registry cell renderer via
|
|
221
|
+
`React.createElement` instead of a locally-assigned capitalized JSX tag
|
|
222
|
+
(flagged as component-creation-during-render; the registry reference is
|
|
223
|
+
stable).
|
|
224
|
+
|
|
225
|
+
No behavior change intended; eslint react-hooks errors on these files drop
|
|
226
|
+
to zero.
|
|
227
|
+
|
|
228
|
+
- f0f10f5: feat(kanban): default lane field honours the ADR-0085 `stageField` role
|
|
229
|
+
|
|
230
|
+
Kanban views without an explicit `groupByField`/`groupField` hard-coded their
|
|
231
|
+
lane field to the literal `'status'` (in both app-shell's ObjectView options
|
|
232
|
+
and plugin-list's ListView fallback) — ignoring the object's declared
|
|
233
|
+
lifecycle and even inventing a field the object doesn't have. The default now
|
|
234
|
+
resolves through the shared `stageField` detector:
|
|
235
|
+
|
|
236
|
+
1. explicit view config (unchanged, always wins);
|
|
237
|
+
2. the object's `stageField` semantic role;
|
|
238
|
+
3. `stageField: false` → **no default lanes** (the status-shaped field is
|
|
239
|
+
declared non-linear; the board renders its empty state until the view
|
|
240
|
+
picks a lane field explicitly);
|
|
241
|
+
4. else the shared name/type heuristic (status / stage / state / phase by
|
|
242
|
+
name, then status/stage by type) — never a nonexistent field.
|
|
243
|
+
|
|
244
|
+
`detectStatusField` moved from `@object-ui/plugin-detail` to
|
|
245
|
+
`@object-ui/types` (new export, with the `StatusFieldSource` input type) so
|
|
246
|
+
plugin-list and app-shell share the exact semantics; plugin-detail re-exports
|
|
247
|
+
it unchanged.
|
|
248
|
+
|
|
249
|
+
Also fixes ListView's pre-existing rules-of-hooks error while touching the
|
|
250
|
+
file: `useListFieldLabel` wrapped `useObjectLabel()` in try/catch (hook-order
|
|
251
|
+
desync risk; the hook is provider-safe) — same fix as objectui#2595's
|
|
252
|
+
`useFieldLabel`.
|
|
253
|
+
|
|
254
|
+
Behavior change is limited to kanban views with no explicit lane field on
|
|
255
|
+
objects that either declare `stageField` (now honoured), declare
|
|
256
|
+
`stageField: false` (now suppressed), or have no status-shaped field at all
|
|
257
|
+
(previously grouped by a nonexistent `status` into one "undefined" lane; now
|
|
258
|
+
an honest empty state). Objects with a real `status` field — the common case —
|
|
259
|
+
are unchanged.
|
|
260
|
+
|
|
261
|
+
- Updated dependencies [82441e4]
|
|
262
|
+
- Updated dependencies [2efa9fd]
|
|
263
|
+
- Updated dependencies [e628d1f]
|
|
264
|
+
- Updated dependencies [23d65c3]
|
|
265
|
+
- @object-ui/i18n@14.1.0
|
|
266
|
+
|
|
3
267
|
## 14.0.0
|
|
4
268
|
|
|
5
269
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -192,6 +192,33 @@ Tab navigation for organizing content into different views.
|
|
|
192
192
|
|
|
193
193
|
Displays related records in list, grid, or table format.
|
|
194
194
|
|
|
195
|
+
The `record:related_list` renderer is automatically gated on the current
|
|
196
|
+
user's object-level `read` permission for the child object: when the
|
|
197
|
+
permission system (`@object-ui/permissions`) is loaded and denies read,
|
|
198
|
+
the whole section renders nothing — no header, no empty grid, no "New"
|
|
199
|
+
button that would be rejected server-side. With no `PermissionProvider`
|
|
200
|
+
mounted (Studio designer, standalone embeds) the gate stays open.
|
|
201
|
+
|
|
202
|
+
### InlineEditSaveBar & InlineFieldInput
|
|
203
|
+
|
|
204
|
+
The record-level inline-edit session (#2407): double-clicking a field (or its
|
|
205
|
+
hover pencil) in the highlights strip or details body stages edits into ONE
|
|
206
|
+
shared draft (`InlineEditProvider` from `@object-ui/react`), committed by
|
|
207
|
+
`<InlineEditSaveBar>` as a single atomic OCC-guarded update. Polish shipped in
|
|
208
|
+
#2572:
|
|
209
|
+
|
|
210
|
+
- **Editors**: `InlineFieldInput` routes every field type to the same widget
|
|
211
|
+
the form uses — including `number` / `currency` / `percent` (numeric
|
|
212
|
+
keyboard, `min`/`max`/`step` from metadata, fraction↔percent conversion) and
|
|
213
|
+
reference pickers, which receive `$expand`-ed record objects as-is so the
|
|
214
|
+
display name renders without a hydration re-fetch.
|
|
215
|
+
- **Keyboard shortcuts**: while the session is active, **Esc** cancels (open
|
|
216
|
+
popovers/dialogs keep owning Escape for "close") and **Cmd/Ctrl+Enter**
|
|
217
|
+
saves; both respect the in-flight `saving` and `locked` states.
|
|
218
|
+
- **Approval lock**: hosts pass `locked` / `lockedHint` to the save bar and
|
|
219
|
+
gate `InlineEditProvider.canEdit` when the record is approval-locked, so a
|
|
220
|
+
locked record hides its edit affordances instead of rejecting at Save.
|
|
221
|
+
|
|
195
222
|
<!-- release-metadata:v3.3.0 -->
|
|
196
223
|
|
|
197
224
|
## Compatibility
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailSection.d.ts","sourceRoot":"","sources":["../src/DetailSection.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DetailSection.d.ts","sourceRoot":"","sources":["../src/DetailSection.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqB/B,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAkC,MAAM,kBAAkB,CAAC;AAsBnH;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBxF;AAED,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACpD;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6FAA6F;IAC7F,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,oEAAoE;IACpE,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsctD,CAAC"}
|
package/dist/DetailView.d.ts
CHANGED
|
@@ -14,10 +14,13 @@ export interface DetailViewProps {
|
|
|
14
14
|
onEdit?: () => void;
|
|
15
15
|
onDelete?: () => void;
|
|
16
16
|
onBack?: () => void;
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Opt into inline editing. When true AND an `<InlineEditProvider>` is present
|
|
19
|
+
* (with `canEdit`), fields surface the double-click / hover-pencil affordance
|
|
20
|
+
* and edits stage into the shared draft (objectui#2407 P1). The Save/Cancel
|
|
21
|
+
* bar + atomic persistence live in `<InlineEditSaveBar>`, rendered by the host.
|
|
22
|
+
*/
|
|
18
23
|
inlineEdit?: boolean;
|
|
19
|
-
/** Callback when a field value is saved inline */
|
|
20
|
-
onFieldSave?: (field: string, value: any, record: any) => void | Promise<void>;
|
|
21
24
|
/**
|
|
22
25
|
* Optional discussion content rendered as a dedicated "Discussion" tab when
|
|
23
26
|
* autoTabs is enabled. Lets the host page mount a rich chatter panel without
|
package/dist/DetailView.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailView.d.ts","sourceRoot":"","sources":["../src/DetailView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAA4B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"DetailView.d.ts","sourceRoot":"","sources":["../src/DetailView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAA4B,MAAM,kBAAkB,CAAC;AAsE/F,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmsChD,CAAC"}
|
|
@@ -15,6 +15,8 @@ export interface HeaderHighlightProps {
|
|
|
15
15
|
objectName?: string;
|
|
16
16
|
/** Object schema for field metadata enrichment */
|
|
17
17
|
objectSchema?: any;
|
|
18
|
+
/** DataSource used by reference (lookup / user) editors during inline edit */
|
|
19
|
+
dataSource?: any;
|
|
18
20
|
}
|
|
19
21
|
export declare const HeaderHighlight: React.FC<HeaderHighlightProps>;
|
|
20
22
|
//# sourceMappingURL=HeaderHighlight.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderHighlight.d.ts","sourceRoot":"","sources":["../src/HeaderHighlight.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderHighlight.d.ts","sourceRoot":"","sources":["../src/HeaderHighlight.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAoO1D,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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
|
+
* InlineEditSaveBar — the record-level sticky Save/Cancel bar for inline edit
|
|
9
|
+
* (objectui#2407 P1). Reads the shared `InlineEditContext` (draft / editing /
|
|
10
|
+
* saving / error) and commits the WHOLE draft in ONE atomic write, so
|
|
11
|
+
* cross-field validation runs against a consistent record instead of the old
|
|
12
|
+
* per-field save-on-blur loop.
|
|
13
|
+
*
|
|
14
|
+
* Two persistence modes:
|
|
15
|
+
* - **DataSource mode** (record page): one `dataSource.update(obj, id, draft,
|
|
16
|
+
* { ifMatch: data.updated_at })` → `refresh()`. A `409 CONCURRENT_UPDATE`
|
|
17
|
+
* opens `<ConcurrentUpdateDialog>` (reload / overwrite), reusing the OCC UX
|
|
18
|
+
* that previously lived in `record:details`.
|
|
19
|
+
* - **Callback mode** (standalone drawer): loops a caller-supplied
|
|
20
|
+
* `onFieldSave(field, value)` over the draft, preserving the drawer's
|
|
21
|
+
* existing per-field persistence contract with plugin-gantt/calendar/kanban.
|
|
22
|
+
*
|
|
23
|
+
* While the session is active the bar also owns the record-level keyboard
|
|
24
|
+
* shortcuts (objectui#2572): **Esc** cancels (when no popover/dialog is open)
|
|
25
|
+
* and **Cmd/Ctrl+Enter** saves — both respecting `saving`/`locked`.
|
|
26
|
+
*
|
|
27
|
+
* The bar renders nothing unless the record is actively being edited.
|
|
28
|
+
*/
|
|
29
|
+
import * as React from 'react';
|
|
30
|
+
export interface InlineEditSaveBarProps {
|
|
31
|
+
/** DataSource for the atomic-update path (record page). */
|
|
32
|
+
dataSource?: any;
|
|
33
|
+
/** Object machine name for the atomic-update path. */
|
|
34
|
+
objectName?: string;
|
|
35
|
+
/** Record id for the atomic-update path. */
|
|
36
|
+
recordId?: string | number | null;
|
|
37
|
+
/** Current server record — supplies `updated_at` for the OCC `ifMatch` token. */
|
|
38
|
+
data?: any;
|
|
39
|
+
/** Re-fetch the record after a successful save / reload. */
|
|
40
|
+
refresh?: () => void | Promise<void>;
|
|
41
|
+
/** Map a field machine name to a user-facing label (for the conflict dialog). */
|
|
42
|
+
fieldLabelFor?: (name: string) => string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Callback-persistence mode (drawer): when provided, the save loops this
|
|
45
|
+
* per-field callback over the draft instead of issuing a DataSource update.
|
|
46
|
+
* Takes precedence over the DataSource path.
|
|
47
|
+
*/
|
|
48
|
+
onFieldSave?: (field: string, value: any) => void | Promise<void>;
|
|
49
|
+
/** When true, disables Save and shows a lock hint (e.g. approval-locked). */
|
|
50
|
+
locked?: boolean;
|
|
51
|
+
/** Tooltip/label explaining why the record is locked. */
|
|
52
|
+
lockedHint?: string;
|
|
53
|
+
className?: string;
|
|
54
|
+
}
|
|
55
|
+
export declare const InlineEditSaveBar: React.FC<InlineEditSaveBarProps>;
|
|
56
|
+
export default InlineEditSaveBar;
|
|
57
|
+
//# sourceMappingURL=InlineEditSaveBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineEditSaveBar.d.ts","sourceRoot":"","sources":["../src/InlineEditSaveBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,iFAAiF;IACjF,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,iFAAiF;IACjF,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACrD;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmCD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAqO9D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
/**
|
|
10
|
+
* Field types that carry a `reference_to` for relational metadata but are NOT
|
|
11
|
+
* edited via the lookup picker (they have their own dedicated inputs/renderers).
|
|
12
|
+
* Used so the inline-edit branch doesn't hijack them into a record picker.
|
|
13
|
+
*
|
|
14
|
+
* Exported because `DetailSection`'s per-field editability gate keys off the
|
|
15
|
+
* same set (a computed field is never editable), so the two must not drift.
|
|
16
|
+
*/
|
|
17
|
+
export declare const TEXTUAL_REF_FALLBACK_TYPES: Set<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Extract the id a reference widget expects from a value that may already be
|
|
20
|
+
* an `$expand`-ed record object (`{ id, name, ... }`), an array of those, or a
|
|
21
|
+
* bare id. Mirrors the display logic in `LookupCellRenderer` so edit-mode and
|
|
22
|
+
* read-mode agree on which id a relationship points at.
|
|
23
|
+
*/
|
|
24
|
+
export declare function extractLookupId(value: unknown): unknown;
|
|
25
|
+
export interface InlineFieldInputProps {
|
|
26
|
+
/**
|
|
27
|
+
* Enriched field metadata — `type` plus any objectSchema enrichment (options,
|
|
28
|
+
* currency, precision, format, reference_to, widget…). The caller owns
|
|
29
|
+
* enrichment so read-mode and edit-mode agree on the same resolved field
|
|
30
|
+
* shape. Kept as a loose bag (matching the widgets' `field` props) since the
|
|
31
|
+
* exact key set varies by field type.
|
|
32
|
+
*/
|
|
33
|
+
field: Record<string, any>;
|
|
34
|
+
/** Current field value (may be an `$expand`-ed record object for references). */
|
|
35
|
+
value: any;
|
|
36
|
+
/** Called with the next value whenever the user edits the field. */
|
|
37
|
+
onChange: (value: any) => void;
|
|
38
|
+
/** DataSource used by reference (lookup / master_detail / user) pickers. */
|
|
39
|
+
dataSource?: any;
|
|
40
|
+
/** Auto-focus the underlying input on mount (wired to the entered field). */
|
|
41
|
+
autoFocus?: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The single inline-edit input for a record field, extracted from
|
|
45
|
+
* `DetailSection` so any record-level surface — the details body AND the
|
|
46
|
+
* highlights strip (objectui#2407) — renders an identical editor. Covers every
|
|
47
|
+
* widget the detail body handles: `SelectField`, `BooleanField`, `LookupField`,
|
|
48
|
+
* `UserField`, `CapabilityMultiSelectField` (#2403), the `permission-facet-link`
|
|
49
|
+
* read-only facet (#2403), the numeric widgets (`NumberField` /
|
|
50
|
+
* `CurrencyField` / `PercentField`, objectui#2572), and the plain date/text
|
|
51
|
+
* input (with ISO date coercion + object-value guarding so an unexpanded
|
|
52
|
+
* reference never leaks "[object Object]").
|
|
53
|
+
*
|
|
54
|
+
* Editability GATING (computed types, `readonly`, system fields, object
|
|
55
|
+
* lifecycle) stays with the host — this component only renders the editor once
|
|
56
|
+
* the host has decided the field is editable.
|
|
57
|
+
*/
|
|
58
|
+
export declare const InlineFieldInput: React.FC<InlineFieldInputProps>;
|
|
59
|
+
//# sourceMappingURL=InlineFieldInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineFieldInput.d.ts","sourceRoot":"","sources":["../src/InlineFieldInput.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,aAA2D,CAAC;AAEnG;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQvD;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,iFAAiF;IACjF,KAAK,EAAE,GAAG,CAAC;IACX,oEAAoE;IACpE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAgI5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordDetailDrawer.d.ts","sourceRoot":"","sources":["../src/RecordDetailDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"RecordDetailDrawer.d.ts","sourceRoot":"","sources":["../src/RecordDetailDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAyBnD,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IACvD;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,KAA0B,EAC1B,OAAW,EACX,YAAoC,EACpC,WAAW,EACX,QAAQ,EACR,SAAgB,EAChB,YAAY,GACb,EAAE,uBAAuB,qBAkOzB;AAED,eAAe,kBAAkB,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAQjG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordMetaFooter.d.ts","sourceRoot":"","sources":["../src/RecordMetaFooter.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,oFAAoF;IACpF,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"RecordMetaFooter.d.ts","sourceRoot":"","sources":["../src/RecordMetaFooter.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,oFAAoF;IACpF,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsHD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA4D5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedList.d.ts","sourceRoot":"","sources":["../src/RelatedList.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RelatedList.d.ts","sourceRoot":"","sources":["../src/RelatedList.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,10 @@ export { ConcurrentUpdateDialog, isConcurrentUpdateError, } from './ConcurrentUp
|
|
|
20
20
|
export type { ConcurrentUpdateConflict, ConcurrentUpdateDialogProps, } from './ConcurrentUpdateDialog';
|
|
21
21
|
export { SectionGroup } from './SectionGroup';
|
|
22
22
|
export { HeaderHighlight } from './HeaderHighlight';
|
|
23
|
+
export { InlineFieldInput, extractLookupId, TEXTUAL_REF_FALLBACK_TYPES } from './InlineFieldInput';
|
|
24
|
+
export type { InlineFieldInputProps } from './InlineFieldInput';
|
|
25
|
+
export { InlineEditSaveBar } from './InlineEditSaveBar';
|
|
26
|
+
export type { InlineEditSaveBarProps } from './InlineEditSaveBar';
|
|
23
27
|
export { inferDetailColumns, isWideFieldType, applyAutoSpan, applyDetailAutoLayout } from './autoLayout';
|
|
24
28
|
export { useDetailTranslation, DETAIL_DEFAULT_TRANSLATIONS, createSafeTranslationHook } from './useDetailTranslation';
|
|
25
29
|
export { RecordComments } from './RecordComments';
|
|
@@ -68,6 +72,6 @@ export type { MentionAutocompleteProps, MentionSuggestionItem } from './MentionA
|
|
|
68
72
|
export type { SubscriptionToggleProps } from './SubscriptionToggle';
|
|
69
73
|
export type { ReactionPickerProps } from './ReactionPicker';
|
|
70
74
|
export type { ThreadedRepliesProps } from './ThreadedReplies';
|
|
71
|
-
export { buildDefaultPageSchema, buildDefaultHeader, buildDefaultActions, buildDefaultHighlights, buildDefaultDetails, buildDefaultTabs, buildDefaultDiscussion, detectStatusField, deriveStages, deriveHighlightFields, deriveFieldGroupDetailSections, resolveDetailSections, } from './synth/buildDefaultPageSchema';
|
|
75
|
+
export { buildDefaultPageSchema, buildDefaultHeader, buildDefaultActions, buildDefaultHighlights, buildDefaultDetails, buildDefaultTabs, buildDefaultDiscussion, detectStatusField, deriveStages, deriveHighlightFields, deriveFieldGroupDetailSections, resolveDetailSections, resolveTitleField, } from './synth/buildDefaultPageSchema';
|
|
72
76
|
export type { ObjectDefLike, ObjectFieldLike, BuildPageOptions, } from './synth/buildDefaultPageSchema';
|
|
73
77
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,CAAC;AACF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChF,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAChF,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACpF,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnH,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnF,YAAY,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,YAAY,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC5F,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI9D,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|