@object-ui/plugin-detail 17.5.0 → 17.6.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 +475 -0
- package/README.md +41 -6
- package/dist/DetailSection.d.ts.map +1 -1
- package/dist/DetailView.d.ts.map +1 -1
- package/dist/HistoryTimeline.d.ts.map +1 -1
- package/dist/InlineFieldInput.d.ts.map +1 -1
- package/dist/RelatedList.d.ts +11 -0
- package/dist/RelatedList.d.ts.map +1 -1
- package/dist/index.d.ts +88 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2763 -2699
- package/dist/index.umd.cjs +3 -3
- package/dist/renderers/record-alert.d.ts +61 -11
- package/dist/renderers/record-alert.d.ts.map +1 -1
- package/dist/renderers/record-path.d.ts.map +1 -1
- package/dist/renderers/record-quick-actions.d.ts +7 -0
- package/dist/renderers/record-quick-actions.d.ts.map +1 -1
- package/dist/renderers/record-reference-rail.d.ts +2 -17
- package/dist/renderers/record-reference-rail.d.ts.map +1 -1
- package/dist/renderers/record-related-list.d.ts.map +1 -1
- package/dist/renderers/recordActivityFeed.d.ts +95 -8
- package/dist/renderers/recordActivityFeed.d.ts.map +1 -1
- package/dist/synth/buildDefaultPageSchema.d.ts.map +1 -1
- package/dist/useDetailTranslation.d.ts.map +1 -1
- package/dist/useRecordEditable.d.ts.map +1 -1
- package/package.json +17 -16
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { I18nLabel } from '@objectstack/spec/ui';
|
|
1
2
|
/**
|
|
2
3
|
* ObjectUI
|
|
3
4
|
* Copyright (c) 2024-present ObjectStack Inc.
|
|
@@ -31,11 +32,39 @@
|
|
|
31
32
|
*
|
|
32
33
|
* Visibility model
|
|
33
34
|
* ----------------
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
35
|
+
* `properties.visible` is normalized by `toPredicateInput` and evaluated by
|
|
36
|
+
* `useCondition` against `usePredicateRecordContext(record)` — the repo's one
|
|
37
|
+
* row-binding rule (objectui#4075 / #4077), shared with `<ActionButton>` /
|
|
38
|
+
* `<ActionMenu>` / `<ActionGroup>` / `<ActionIcon>` and app-shell's
|
|
39
|
+
* `DeclaredActionsBar`, so this banner cannot disagree with the buttons it
|
|
40
|
+
* pairs with. The row therefore resolves the three ways objectui#5330 ruled
|
|
41
|
+
* on (maintainer, 2026-08-20): `record.status` — the CANON, what an author
|
|
42
|
+
* should write — plus the deprecated-but-kept row-action shorthand `status`
|
|
43
|
+
* and legacy `data.status`.
|
|
44
|
+
*
|
|
45
|
+
* Merged UNDER the row is whatever the host put in the ambient predicate
|
|
46
|
+
* scope (`PredicateScopeProvider`; app-shell's `ExpressionProvider` supplies
|
|
47
|
+
* `current_user` / `user` / `ctx.user` / `os.user` / `app` / `data` /
|
|
48
|
+
* `features`). The row wins, so a host-supplied `record` / `data` cannot
|
|
49
|
+
* shadow it. `objectName` is NOT in the predicate scope — it is read from
|
|
50
|
+
* `useRecordContext()` for the metadata lookup and the dismiss key only.
|
|
51
|
+
*
|
|
52
|
+
* Missing predicate → always visible. A predicate that cannot be evaluated →
|
|
53
|
+
* also visible: this call site is FAIL-SOFT (it does not pass
|
|
54
|
+
* `throwOnError`), which is why the unbound spellings above were a
|
|
55
|
+
* user-visible defect rather than a console line — objectui#4807.
|
|
56
|
+
* Empty `record` (loading) → hidden (no flash of stale alert), AND the
|
|
57
|
+
* predicate is not evaluated at all in that frame — a bare/`${…}`
|
|
58
|
+
* `record.*` reference against an unbound row faults, and evaluating a
|
|
59
|
+
* verdict this component is about to discard anyway only produced a
|
|
60
|
+
* permanently misleading `record is not defined` console line on every
|
|
61
|
+
* load (objectui#5776).
|
|
62
|
+
*
|
|
63
|
+
* A node-level `visibleWhen` is a SEPARATE gate one tier up, evaluated by
|
|
64
|
+
* `SchemaRenderer` on its own bindings (notably `data` = the data-source
|
|
65
|
+
* ADAPTER, not the row). The two compose as AND. Both facts are pinned in
|
|
66
|
+
* `__tests__/record-alert.visibleWhen.evidence.test.tsx` (group 4) and
|
|
67
|
+
* `__tests__/record-alert.rowBinding.test.tsx`.
|
|
39
68
|
*
|
|
40
69
|
* CTA wiring
|
|
41
70
|
* ----------
|
|
@@ -46,30 +75,51 @@
|
|
|
46
75
|
*/
|
|
47
76
|
import * as React from 'react';
|
|
48
77
|
type Severity = 'info' | 'warning' | 'error' | 'success';
|
|
78
|
+
/**
|
|
79
|
+
* Local (unexported) prop shape for the renderer below.
|
|
80
|
+
*
|
|
81
|
+
* `title` / `body` accept the inline locale map as well as a plain string
|
|
82
|
+
* (objectui#4970): both are read through `pickLocalized` further down, and the
|
|
83
|
+
* block's published authoring surface declares the two arms
|
|
84
|
+
* (`plugin-detail/src/index.tsx`, `type: ['string', 'object']` since
|
|
85
|
+
* objectui#3832), so while these two said `string` they were narrower than both
|
|
86
|
+
* the renderer and this block's own published surface — the
|
|
87
|
+
* declaration-narrower-than-the-renderer family of objectui#4581.
|
|
88
|
+
*
|
|
89
|
+
* The CTA's `action.label` below is the same slot one level down, widened here
|
|
90
|
+
* (objectui#4998) to match: it is read through the same `pickLocalized` call as
|
|
91
|
+
* `title` / `body` (`const ctaLabel = pickLocalized(props.action?.label, language)`
|
|
92
|
+
* further down), so a declaration of bare `string` was narrower than the
|
|
93
|
+
* renderer's own runtime behaviour, exactly as `title` / `body` were before
|
|
94
|
+
* objectui#4970. This widening is TYPE-only: the block's published surface still
|
|
95
|
+
* declares `action` as a bare `object` with the member shape in prose
|
|
96
|
+
* (`plugin-detail/src/index.tsx`), so there is no manifest arm to align — that
|
|
97
|
+
* half stays parked on the `ComponentInput` member-shape question (PR #3795).
|
|
98
|
+
*/
|
|
49
99
|
interface RecordAlertProps {
|
|
50
100
|
schema?: {
|
|
51
101
|
properties?: {
|
|
52
102
|
severity?: Severity;
|
|
53
|
-
title?: string;
|
|
54
|
-
body?: string;
|
|
103
|
+
title?: string | I18nLabel;
|
|
104
|
+
body?: string | I18nLabel;
|
|
55
105
|
visible?: any;
|
|
56
106
|
icon?: string;
|
|
57
107
|
action?: {
|
|
58
108
|
actionName: string;
|
|
59
|
-
label?: string;
|
|
109
|
+
label?: string | I18nLabel;
|
|
60
110
|
variant?: string;
|
|
61
111
|
};
|
|
62
112
|
dismissible?: boolean;
|
|
63
113
|
dismissKey?: string;
|
|
64
114
|
};
|
|
65
115
|
severity?: Severity;
|
|
66
|
-
title?: string;
|
|
67
|
-
body?: string;
|
|
116
|
+
title?: string | I18nLabel;
|
|
117
|
+
body?: string | I18nLabel;
|
|
68
118
|
visible?: any;
|
|
69
119
|
icon?: string;
|
|
70
120
|
action?: {
|
|
71
121
|
actionName: string;
|
|
72
|
-
label?: string;
|
|
122
|
+
label?: string | I18nLabel;
|
|
73
123
|
variant?: string;
|
|
74
124
|
};
|
|
75
125
|
dismissible?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-alert.d.ts","sourceRoot":"","sources":["../../src/renderers/record-alert.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"record-alert.d.ts","sourceRoot":"","sources":["../../src/renderers/record-alert.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE;YACX,QAAQ,CAAC,EAAE,QAAQ,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC1B,OAAO,CAAC,EAAE,GAAG,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,MAAM,CAAC,EAAE;gBAAE,UAAU,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;YACtB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QAEF,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AA6BD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuJ1D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-path.d.ts","sourceRoot":"","sources":["../../src/renderers/record-path.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"record-path.d.ts","sourceRoot":"","sources":["../../src/renderers/record-path.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAWjE,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA0ShE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -8,7 +8,14 @@ export interface RecordQuickActionsRendererProps {
|
|
|
8
8
|
align?: 'start' | 'center' | 'end';
|
|
9
9
|
size?: 'sm' | 'default' | 'lg';
|
|
10
10
|
variant?: 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link';
|
|
11
|
+
/**
|
|
12
|
+
* Accessible name for the toolbar. `ariaLabel` is the spelling
|
|
13
|
+
* `@objectstack/spec`'s `AriaPropsSchema` accepts; `label` is that shape's
|
|
14
|
+
* alias entry — refused on parse — and is kept here as a back-compat read
|
|
15
|
+
* for documents written before the contract closed (objectui#4663).
|
|
16
|
+
*/
|
|
11
17
|
aria?: {
|
|
18
|
+
ariaLabel?: string;
|
|
12
19
|
label?: string;
|
|
13
20
|
};
|
|
14
21
|
properties?: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-quick-actions.d.ts","sourceRoot":"","sources":["../../src/renderers/record-quick-actions.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOjE,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;QAC/B,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;QACjF,IAAI,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"record-quick-actions.d.ts","sourceRoot":"","sources":["../../src/renderers/record-quick-actions.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOjE,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;QAC/B,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;QACjF;;;;;WAKG;QACH,IAAI,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAqLhF,CAAC;AAsDF,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
objectName: string;
|
|
5
|
-
/** FK field on the related object pointing back to the host record. */
|
|
6
|
-
relationshipField: string;
|
|
7
|
-
/** Optional override for the rail card title. */
|
|
8
|
-
title?: string;
|
|
9
|
-
/** Lucide icon name (defaults vary by object). */
|
|
10
|
-
icon?: string;
|
|
11
|
-
/** Top-N preview cap. Defaults to 3. */
|
|
12
|
-
limit?: number;
|
|
13
|
-
/**
|
|
14
|
-
* Canonical field on the related object to render in each preview row.
|
|
15
|
-
* Falls back to `name / title / subject / label / id` when omitted.
|
|
16
|
-
*/
|
|
17
|
-
displayField?: string;
|
|
18
|
-
}
|
|
2
|
+
import { ReferenceRailEntry } from '@objectstack/spec/ui';
|
|
3
|
+
export type { ReferenceRailEntry } from '@objectstack/spec/ui';
|
|
19
4
|
export interface RecordReferenceRailRendererProps {
|
|
20
5
|
schema?: {
|
|
21
6
|
entries?: ReferenceRailEntry[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-reference-rail.d.ts","sourceRoot":"","sources":["../../src/renderers/record-reference-rail.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"record-reference-rail.d.ts","sourceRoot":"","sources":["../../src/renderers/record-reference-rail.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAU/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAO/D,MAAM,WAAW,gCAAgC;IAC/C,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;;;;WAMG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAoCD,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAmQlF,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-related-list.d.ts","sourceRoot":"","sources":["../../src/renderers/record-related-list.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AA4BxE,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,+BAA+B,EAAE,YAAY,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,YAAY,CAAC,CAAC,GAC5D,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"record-related-list.d.ts","sourceRoot":"","sources":["../../src/renderers/record-related-list.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AA4BxE,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,+BAA+B,EAAE,YAAY,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,YAAY,CAAC,CAAC,GAC5D,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAsOD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAiB9E,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -5,19 +5,65 @@ export declare const DEFAULT_ACTIVITY_LIMIT = 20;
|
|
|
5
5
|
/**
|
|
6
6
|
* `sys_activity.type` → `FeedItem.type`.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* into the discussion feed
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
8
|
+
* Meant to be one reading with the map `RecordDetailView` uses when it merges
|
|
9
|
+
* `sys_activity` into the discussion feed. Two renderers that disagree about what a `created` row IS would put
|
|
10
|
+
* the same record's history under two different icons depending on which block
|
|
11
|
+
* an author reached for, so the richer `record_create` / `record_delete` /
|
|
12
|
+
* `sharing` feed types the spec offers are NOT used here — adopting them is a
|
|
13
|
+
* change to that shared map, not to this block.
|
|
14
|
+
*
|
|
15
|
+
* ⚠️ That copy is a hand-written literal in `app-shell`, not an import of this
|
|
16
|
+
* one, and nothing fails when the two disagree — so the `scheduled` entry below
|
|
17
|
+
* is currently present here and absent there. Tracked as objectui#5878; fixing
|
|
18
|
+
* it means the second copy reading this export, which is a different package's
|
|
19
|
+
* surface than this card's.
|
|
15
20
|
*
|
|
16
21
|
* `commented` / `mentioned` map to nothing because their content lives in
|
|
17
22
|
* `sys_comment` (with reactions and threading attached) — a host that has both
|
|
18
23
|
* merges the comment rows, and the block on its own has no comment write path
|
|
19
24
|
* to pair them with. `login` / `logout` are account events, not record
|
|
20
25
|
* activity.
|
|
26
|
+
*
|
|
27
|
+
* ## Two vocabularies, not one (objectui#5840)
|
|
28
|
+
*
|
|
29
|
+
* The keys were originally set-equal to plugin-audit's declared
|
|
30
|
+
* `sys_activity.type` select options, and the test pinned exactly that. They no
|
|
31
|
+
* longer are, because those options are **not** what the column stores:
|
|
32
|
+
*
|
|
33
|
+
* - Every field on `sys_activity` is `readonly: true`, and objectql's
|
|
34
|
+
* `validateRecord` skips readonly fields on both the insert and the update
|
|
35
|
+
* branch. The eleven-value enum is therefore documentation, not a contract —
|
|
36
|
+
* an undeclared value is written silently (measured upstream by
|
|
37
|
+
* plugin-audit's own `sys-activity-type-vocabulary.test.ts`).
|
|
38
|
+
* - The platform itself forwards author-declared values into the column:
|
|
39
|
+
* ADR-0052 §5b.2 `activityMilestones[].type` is applied verbatim by
|
|
40
|
+
* plugin-audit's `audit-writers.ts` (`if (milestone.type) activityType =
|
|
41
|
+
* milestone.type`). That is how `completed` is produced, and it is a general
|
|
42
|
+
* door, not a special case.
|
|
43
|
+
*
|
|
44
|
+
* So `scheduled` is a value that is written, stored and queryable while being
|
|
45
|
+
* undeclared upstream. Dropping it was not a decision this map made; it was the
|
|
46
|
+
* absence of one. Its producer is HotCRM's `schedule_meeting` action
|
|
47
|
+
* (`src/actions/global.actions.ts` — `type: EVENT_STATUS === 'held' ?
|
|
48
|
+
* 'completed' : 'scheduled'`), registered for `crm_lead`, `crm_contact`,
|
|
49
|
+
* `crm_account`, `crm_opportunity` and `crm_case`: the held branch reached the
|
|
50
|
+
* timeline, the scheduled branch never did.
|
|
51
|
+
*
|
|
52
|
+
* `scheduled` → `event` is the semantic pairing and it is what makes the
|
|
53
|
+
* declared `event` feed type reachable at all. Note the two branches of that
|
|
54
|
+
* one producer now land at different DEFAULT visibility, which is the intended
|
|
55
|
+
* reading: a held meeting is `completed` → `task`, hidden unless
|
|
56
|
+
* `showCompleted`; a not-yet-held meeting is `scheduled` → `event`, shown,
|
|
57
|
+
* because an upcoming meeting is the part of a timeline you still act on.
|
|
58
|
+
*
|
|
59
|
+
* Whether the upstream enum should GAIN `scheduled` is a platform ruling, not
|
|
60
|
+
* this block's to make — filed as objectstack#11424. Until it is ruled, the
|
|
61
|
+
* honest statement of this table is the one the test now pins: the upstream
|
|
62
|
+
* declaration PLUS the values a shipped producer measurably writes.
|
|
63
|
+
*
|
|
64
|
+
* Values outside BOTH groups are still dropped — see
|
|
65
|
+
* {@link activityRowToFeedItem}, which now says so out loud instead of
|
|
66
|
+
* silently.
|
|
21
67
|
*/
|
|
22
68
|
export declare const ACTIVITY_TYPE_TO_FEED_TYPE: Readonly<Record<string, FeedItemType | undefined>>;
|
|
23
69
|
/** A row as `sys_activity` returns it. Loose on purpose: the block reads a
|
|
@@ -43,7 +89,42 @@ export interface SysActivityRow {
|
|
|
43
89
|
* filter token is skipped, never turned into a filter that can't match.
|
|
44
90
|
*/
|
|
45
91
|
export declare function normalizeFilterMode(value: unknown): FeedFilterMode;
|
|
46
|
-
/**
|
|
92
|
+
/** Test seam: forget which `types` entries have already been named. */
|
|
93
|
+
export declare function resetUnrecognisedFeedTypeWarnings(): void;
|
|
94
|
+
/**
|
|
95
|
+
* Sanitise an authored `types` allow-list. Narrowing or refusal, never widening.
|
|
96
|
+
*
|
|
97
|
+
* Three distinct authored intents used to collapse into one rendering
|
|
98
|
+
* (objectui#5841). They are three again:
|
|
99
|
+
*
|
|
100
|
+
* | authored | returns | rendered |
|
|
101
|
+
* | ----------------------------- | ----------- | ------------------------------ |
|
|
102
|
+
* | absent (`undefined`/`null`) | `undefined` | every kind — no filter authored |
|
|
103
|
+
* | `[]` | `[]` | nothing — the author said "no kinds" |
|
|
104
|
+
* | `['crm_task']` (none known) | `[]` | nothing, plus one diagnostic |
|
|
105
|
+
* | `['task', 'crm_task']` | `['task']` | the recognised members, plus one diagnostic |
|
|
106
|
+
*
|
|
107
|
+
* `undefined` now means "no `types` key was authored" and ONLY that. It used to
|
|
108
|
+
* mean that OR "everything you authored was dropped", and {@link applyFeedConfig}
|
|
109
|
+
* reads it as "apply no filter" — so a single typo served the author every
|
|
110
|
+
* activity on the record with nothing said anywhere, and the tell was a
|
|
111
|
+
* PLAUSIBLE result (a populated timeline) rather than an empty one that gets
|
|
112
|
+
* investigated. That is the principle this function now holds: a sanitiser may
|
|
113
|
+
* narrow an author's request or refuse it, but it must never silently widen it,
|
|
114
|
+
* because widening turns a typo into "show the user everything" — the one
|
|
115
|
+
* outcome no author asked for.
|
|
116
|
+
*
|
|
117
|
+
* `[]` is honoured rather than reinterpreted, and silently: rendering every kind
|
|
118
|
+
* is the maximally wrong answer to "no kinds", and there is nothing to report
|
|
119
|
+
* about a request that was carried out exactly.
|
|
120
|
+
*
|
|
121
|
+
* Membership is read from `@objectstack/spec`'s `FeedItemType` at runtime, never
|
|
122
|
+
* re-typed here — see the file header for what a hand copy of a spec enum cost.
|
|
123
|
+
*
|
|
124
|
+
* NOT pure: an entry it cannot recognise logs once (see {@link warnOnce}). The
|
|
125
|
+
* failure being repaired is invisibility, so the diagnostic is the other half of
|
|
126
|
+
* the fix rather than a nicety.
|
|
127
|
+
*/
|
|
47
128
|
export declare function normalizeFeedTypes(value: unknown): FeedItemType[] | undefined;
|
|
48
129
|
/** Coerce `limit` to a positive integer, falling back to the spec default. */
|
|
49
130
|
export declare function normalizeLimit(value: unknown): number;
|
|
@@ -56,9 +137,15 @@ export declare function normalizeLimit(value: unknown): number;
|
|
|
56
137
|
* type map is: same rows, same quirk.
|
|
57
138
|
*/
|
|
58
139
|
export declare function activityTimestamp(row: SysActivityRow): string;
|
|
140
|
+
/** Test seam: forget which unknown types have already been warned about. */
|
|
141
|
+
export declare function resetUnknownActivityTypeWarnings(): void;
|
|
59
142
|
/**
|
|
60
143
|
* One `sys_activity` row → one {@link FeedItem}, or `null` when the row is not
|
|
61
144
|
* record activity (see {@link ACTIVITY_TYPE_TO_FEED_TYPE}).
|
|
145
|
+
*
|
|
146
|
+
* Two different `null`s, and the difference is the point: a type the table
|
|
147
|
+
* maps to `undefined` is a deliberate exclusion and returns quietly; a type the
|
|
148
|
+
* table does not contain at all is an unmapped producer and says so once.
|
|
62
149
|
*/
|
|
63
150
|
export declare function activityRowToFeedItem(row: SysActivityRow, systemActorLabel: string): FeedItem | null;
|
|
64
151
|
/** The subset of `RecordActivityProps` that decides which items survive. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordActivityFeed.d.ts","sourceRoot":"","sources":["../../src/renderers/recordActivityFeed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAKhE,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC
|
|
1
|
+
{"version":3,"file":"recordActivityFeed.d.ts","sourceRoot":"","sources":["../../src/renderers/recordActivityFeed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAKhE,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC,CAazF,CAAC;AAgBF;2EAC2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAIlE;AAkCD,uEAAuE;AACvE,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,EAAE,GAAG,SAAS,CAuC7E;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAM7D;AAiCD,4EAA4E;AAC5E,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,cAAc,EACnB,gBAAgB,EAAE,MAAM,GACvB,QAAQ,GAAG,IAAI,CAoBjB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,MAAM,GACf,WAAW,CAyCb;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,GAAG,MAAM,EAAE,SAAS,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,CAU3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildDefaultPageSchema.d.ts","sourceRoot":"","sources":["../../src/synth/buildDefaultPageSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"buildDefaultPageSchema.d.ts","sourceRoot":"","sources":["../../src/synth/buildDefaultPageSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAQrD;;2BAE2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5C;;mEAE+D;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C;gDAC4C;IAC5C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;iDAE6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;IACvE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChF;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAKlD;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,kDAAkD;IAClD,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;IACvE,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oFAAoF;IACpF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;;;WAKG;QACH,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC,CAAC;IACH;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9F;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACzB,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACzB,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;KACzB,CAAC;CACH;AAqDD;;;;;;;;GAQG;AACH,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,KAAK,CAAC;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAM7C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAgB/E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,GAAG,SAAI,GACN,MAAM,EAAE,CA2GV;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAA;CAAO,GACzE,GAAG,CAOL;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,aAAa,EAAE,GAAG,EAAE,GAAG,SAAS,GAC/B,GAAG,GAAG,IAAI,CAMZ;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAC5B,iBAAiB,GAAG,aAAa,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,CACxE,GACL,GAAG,EAAE,CAaP;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,aAAa,GAAG,SAAS,GAC7B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAkDnC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,GACtC,gBAAgB,CAAC,UAAU,CAAC,GAAG,SAAS,CAG1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACvC,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,GAAG,CAKL;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAC5B,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,iBAAiB,GAAG,aAAa,GAAG,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,GAAG,WAAW,CAC1J,GACL,GAAG,CA4FL;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,GAAG,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,GAAG,CAE7C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,OAAO,GAAE,gBAAqB,GAC7B,GAAG,CAqKL"}
|
|
@@ -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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRecordEditable.d.ts","sourceRoot":"","sources":["../src/useRecordEditable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@object-ui/plugin-detail",
|
|
3
|
-
"version": "17.
|
|
3
|
+
"version": "17.6.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.
|
|
29
|
-
"@object-ui/i18n": "17.
|
|
27
|
+
"@objectstack/spec": "^17.0.0",
|
|
28
|
+
"lucide-react": "^1.31.0",
|
|
29
|
+
"@object-ui/i18n": "17.6.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.
|
|
36
|
-
"@object-ui/core": "^17.
|
|
37
|
-
"@object-ui/fields": "^17.
|
|
38
|
-
"@object-ui/permissions": "^17.
|
|
39
|
-
"@object-ui/react": "^17.
|
|
40
|
-
"@object-ui/types": "^17.
|
|
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"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/react": "19.2.18",
|
|
@@ -47,12 +47,13 @@
|
|
|
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.
|
|
51
|
-
"@object-ui/core": "17.
|
|
52
|
-
"@object-ui/fields": "17.
|
|
53
|
-
"@object-ui/permissions": "17.
|
|
54
|
-
"@object-ui/
|
|
55
|
-
"@object-ui/
|
|
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",
|
|
54
|
+
"@object-ui/test-support": "17.4.0",
|
|
55
|
+
"@object-ui/react": "17.6.0",
|
|
56
|
+
"@object-ui/types": "17.6.0"
|
|
56
57
|
},
|
|
57
58
|
"keywords": [
|
|
58
59
|
"objectui",
|