@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 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;