@object-ui/components 4.2.1 → 4.4.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 +115 -0
- package/dist/index.css +22 -0
- package/dist/index.js +2670 -2510
- package/dist/index.umd.cjs +2 -2
- package/dist/packages/components/src/custom/config-panel-renderer.d.ts +3 -1
- package/dist/packages/components/src/renderers/layout/containers.d.ts +19 -0
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,120 @@
|
|
|
1
1
|
# @object-ui/components
|
|
2
2
|
|
|
3
|
+
## 4.4.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2bd45af: feat(shell): main becomes the scroll container; record tabs are sticky
|
|
8
|
+
- `AppShell`'s SidebarProvider wrapper is now constrained to viewport
|
|
9
|
+
height (`h-svh overflow-hidden`) instead of expanding with content via
|
|
10
|
+
the default `min-h-svh`. This makes the inner `<main>` (which is
|
|
11
|
+
`overflow-auto`) the actual scroll container instead of the window.
|
|
12
|
+
- `RecordDetailView` page-mode container drops the redundant
|
|
13
|
+
`h-full overflow-auto` (avoids nested scrollers; main owns scroll now).
|
|
14
|
+
- `page:tabs` (horizontal) gets `sticky top-0 z-20` with a translucent
|
|
15
|
+
backdrop so the tab strip stays visible while users scroll through
|
|
16
|
+
long record pages — the Salesforce Lightning behaviour our schemas
|
|
17
|
+
were already implying.
|
|
18
|
+
- @object-ui/types@4.4.0
|
|
19
|
+
- @object-ui/core@4.4.0
|
|
20
|
+
- @object-ui/i18n@4.4.0
|
|
21
|
+
- @object-ui/react@4.4.0
|
|
22
|
+
|
|
23
|
+
## 4.3.1
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- 6b683c8: fix(detail): clean up record page rendering
|
|
28
|
+
- Drop `ai:chat_window` from the protocol-component placeholder list. The
|
|
29
|
+
floating chat overlay (plugin-chatbot) is the canonical AI entry point;
|
|
30
|
+
inline page schemas that still reference `ai:chat_window` now surface
|
|
31
|
+
as an explicit "Unknown component type" so the misconfiguration is
|
|
32
|
+
fixed at the source instead of silently leaking a placeholder card.
|
|
33
|
+
- `page:header` now resolves `{field.path}` tokens in `title` / `description`
|
|
34
|
+
against the current record context (matching the behaviour of the
|
|
35
|
+
alternative `containers.tsx` renderer). Without this, schemas like
|
|
36
|
+
`title: "{first_name} {last_name}"` rendered the literal template.
|
|
37
|
+
- `containers.tsx` `PageHeaderRenderer`: also read from `schema.properties.*`
|
|
38
|
+
as a fallback so both inlined and raw-bag schema shapes are supported.
|
|
39
|
+
|
|
40
|
+
- Updated dependencies [5f4ac6e]
|
|
41
|
+
- @object-ui/i18n@4.3.1
|
|
42
|
+
- @object-ui/react@4.3.1
|
|
43
|
+
- @object-ui/types@4.3.1
|
|
44
|
+
- @object-ui/core@4.3.1
|
|
45
|
+
|
|
46
|
+
## 4.3.0
|
|
47
|
+
|
|
48
|
+
### Patch Changes
|
|
49
|
+
|
|
50
|
+
- 4e7bc1b: **Report editor panel overhaul**
|
|
51
|
+
|
|
52
|
+
The report configuration panel is now safe to open on any spec-shape `Report` and only exposes fields that are actually persisted by `@objectstack/spec`.
|
|
53
|
+
|
|
54
|
+
`@object-ui/plugin-report`:
|
|
55
|
+
- Add a bidirectional `SpecFilterAdapter` so `ReportConfigPanel` can edit
|
|
56
|
+
spec `FilterCondition` filters (`{field: value}`, `{field: {$op: value}}`,
|
|
57
|
+
top-level `$and`/`$or`). Complex / nested filters fall back to a
|
|
58
|
+
read-only banner and are preserved verbatim on save.
|
|
59
|
+
- Drop sections that never round-tripped through the spec
|
|
60
|
+
(`conditionalFormatting`, `sections`, `export`, `schedule`, `appearance`)
|
|
61
|
+
and their helper components.
|
|
62
|
+
- Add type-driven section visibility: `tabular` shows Columns/Filters,
|
|
63
|
+
`summary` adds Rows + Chart, `matrix` adds Rows + Columns axis + Chart.
|
|
64
|
+
- New `GroupingsBuilder` covers `groupingsDown`/`groupingsAcross` with
|
|
65
|
+
`sortOrder` and date-aware `dateGranularity` controls.
|
|
66
|
+
- New `ColumnsEditor` lets users reorder picked columns, override labels,
|
|
67
|
+
set aggregates and choose a display format.
|
|
68
|
+
- Chart subset now mirrors the spec: chart `title`, `showLegend`,
|
|
69
|
+
`showDataLabels`, plus `funnel` (scatter removed).
|
|
70
|
+
- Validation banner highlights missing `objectName` and missing
|
|
71
|
+
rows/columns for `matrix`/`summary` reports.
|
|
72
|
+
- All editor labels and hints are i18n-driven (`report.editor.*`).
|
|
73
|
+
- 18 new unit tests cover the filter adapter round-trip.
|
|
74
|
+
|
|
75
|
+
`@object-ui/components`:
|
|
76
|
+
- `FilterBuilder` now guards against malformed external `value` props.
|
|
77
|
+
Previously a spec-shape filter (`{is_active: true}`) would crash the
|
|
78
|
+
component on first render; the builder now falls back to an empty
|
|
79
|
+
AND group whenever `value` is not a valid `FilterGroup`.
|
|
80
|
+
|
|
81
|
+
`@object-ui/i18n`:
|
|
82
|
+
- Add `report.editor.*` strings to `en` and `zh`.
|
|
83
|
+
|
|
84
|
+
- 8442c05: Improve report editor panel usability based on real-user browser testing:
|
|
85
|
+
- **Wider config panel** — the report editor now defaults to a `--config-panel-width`
|
|
86
|
+
of 440px (up from 280px), driven by a new optional `style` prop on
|
|
87
|
+
`ConfigPanelRenderer`. Long field labels, report titles, type labels, and filter
|
|
88
|
+
rows no longer truncate to "Account Na" / "kup" / "ct" / 1-character widths.
|
|
89
|
+
- **Disambiguated "Columns" sections** — for `summary` and `matrix` reports the
|
|
90
|
+
measure list is now labelled **"Values / 度量"** (pivot-style vocabulary) instead
|
|
91
|
+
of "Columns", which previously clashed with the matrix's pivot column axis
|
|
92
|
+
(also called "Columns / 列"). The two sections used to be indistinguishable.
|
|
93
|
+
New i18n key `report.editor.values` / `valuesHint` is shipped for all 10
|
|
94
|
+
locales (en, zh, ar, de, es, fr, ja, ko, pt, ru).
|
|
95
|
+
- **Reordered sections for matrix/summary** — the editor now surfaces _Rows_
|
|
96
|
+
and _Columns_ (the pivot axes) **before** _Values_, mirroring how a business
|
|
97
|
+
user thinks about a pivot table.
|
|
98
|
+
- **Per-row aggregate/format headers** — each column row in `ColumnsEditor` now
|
|
99
|
+
shows small "Aggregate" / "Format" labels above the respective selects, and
|
|
100
|
+
the row uses a 2-line layout so the label input has its own line. The cramped
|
|
101
|
+
3-dropdowns-side-by-side layout at 10px font is gone.
|
|
102
|
+
- **Searchable field picker** — the "Add columns" list now has a search box,
|
|
103
|
+
a `filtered / total` counter, an empty-state message, and a scrollable bordered
|
|
104
|
+
container. New i18n keys: `report.editor.searchFields`,
|
|
105
|
+
`report.editor.noMatchingFields`.
|
|
106
|
+
|
|
107
|
+
- Updated dependencies [f196cf4]
|
|
108
|
+
- Updated dependencies [ee1cc96]
|
|
109
|
+
- Updated dependencies [0b032be]
|
|
110
|
+
- Updated dependencies [115d36a]
|
|
111
|
+
- Updated dependencies [4e7bc1b]
|
|
112
|
+
- Updated dependencies [8442c05]
|
|
113
|
+
- @object-ui/i18n@4.3.0
|
|
114
|
+
- @object-ui/react@4.3.0
|
|
115
|
+
- @object-ui/types@4.3.0
|
|
116
|
+
- @object-ui/core@4.3.0
|
|
117
|
+
|
|
3
118
|
## 4.2.1
|
|
4
119
|
|
|
5
120
|
### Patch Changes
|
package/dist/index.css
CHANGED
|
@@ -531,6 +531,9 @@
|
|
|
531
531
|
.mt-2 {
|
|
532
532
|
margin-top: calc(var(--spacing) * 2);
|
|
533
533
|
}
|
|
534
|
+
.mt-3 {
|
|
535
|
+
margin-top: calc(var(--spacing) * 3);
|
|
536
|
+
}
|
|
534
537
|
.mt-4 {
|
|
535
538
|
margin-top: calc(var(--spacing) * 4);
|
|
536
539
|
}
|
|
@@ -3945,6 +3948,12 @@
|
|
|
3945
3948
|
--tw-enter-translate-y: 0.5rem;
|
|
3946
3949
|
}
|
|
3947
3950
|
}
|
|
3951
|
+
.data-\[state\=active\]\:border {
|
|
3952
|
+
&[data-state="active"] {
|
|
3953
|
+
border-style: var(--tw-border-style);
|
|
3954
|
+
border-width: 1px;
|
|
3955
|
+
}
|
|
3956
|
+
}
|
|
3948
3957
|
.data-\[state\=active\]\:bg-background {
|
|
3949
3958
|
&[data-state="active"] {
|
|
3950
3959
|
background-color: var(--color-background);
|
|
@@ -4300,6 +4309,14 @@
|
|
|
4300
4309
|
transition-property: none;
|
|
4301
4310
|
}
|
|
4302
4311
|
}
|
|
4312
|
+
.supports-\[backdrop-filter\]\:bg-background\/60 {
|
|
4313
|
+
@supports (backdrop-filter: var(--tw)) {
|
|
4314
|
+
background-color: color-mix(in srgb, hsl(var(--background)) 60%, transparent);
|
|
4315
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4316
|
+
background-color: color-mix(in oklab, var(--color-background) 60%, transparent);
|
|
4317
|
+
}
|
|
4318
|
+
}
|
|
4319
|
+
}
|
|
4303
4320
|
.supports-\[backdrop-filter\]\:bg-background\/80 {
|
|
4304
4321
|
@supports (backdrop-filter: var(--tw)) {
|
|
4305
4322
|
background-color: color-mix(in srgb, hsl(var(--background)) 80%, transparent);
|
|
@@ -4758,6 +4775,11 @@
|
|
|
4758
4775
|
display: none;
|
|
4759
4776
|
}
|
|
4760
4777
|
}
|
|
4778
|
+
.md\:w-80 {
|
|
4779
|
+
@media (width >= 48rem) {
|
|
4780
|
+
width: calc(var(--spacing) * 80);
|
|
4781
|
+
}
|
|
4782
|
+
}
|
|
4761
4783
|
.md\:w-\[500px\] {
|
|
4762
4784
|
@media (width >= 48rem) {
|
|
4763
4785
|
width: 500px;
|