@object-ui/components 4.3.0 → 4.5.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 +70 -0
- package/dist/index.css +31 -0
- package/dist/index.js +2748 -2509
- package/dist/index.umd.cjs +2 -2
- package/dist/packages/components/src/renderers/layout/containers.d.ts +19 -0
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,75 @@
|
|
|
1
1
|
# @object-ui/components
|
|
2
2
|
|
|
3
|
+
## 4.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6b6afd1: `page:tabs` items now render their optional `icon` (lucide name) and `count`
|
|
8
|
+
badge after the label. Counts >= 1000 are shortened to compact form
|
|
9
|
+
(e.g. `1.2k`). Spec-aligned: `PageTabsItem.icon` and `PageTabsItem.count`.
|
|
10
|
+
- aa7855f: `page:tabs` now auto-derives count badges from any descendant `record:related_list`.
|
|
11
|
+
|
|
12
|
+
For every tab item whose `count` is not set explicitly, the renderer walks the tab's children (depth-first) to find the first `record:related_list` schema node and issues a `limit:1` find through the active `dataSource` to read the matching `total`. The badge appears in the tab strip without spec authors having to wire counts manually.
|
|
13
|
+
|
|
14
|
+
Behavior:
|
|
15
|
+
- Explicit `count` in the spec always wins.
|
|
16
|
+
- Probe is filtered by the parent record id via `relationshipField` when present (skipped until the parent record is loaded).
|
|
17
|
+
- Best-effort: a failed probe just omits the badge — no error surface.
|
|
18
|
+
- Cancellable on unmount.
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 170d89f: PageTabsRenderer auto-count now descends into accordion (`properties.items`) and sums counts when a tab contains multiple `record:related_list` widgets — matches Salesforce "Related" tab semantics. Previously only the first list was probed (or none, if wrapped in an accordion).
|
|
23
|
+
- Updated dependencies [ab5e281]
|
|
24
|
+
- Updated dependencies [22fa558]
|
|
25
|
+
- @object-ui/types@4.5.0
|
|
26
|
+
- @object-ui/i18n@4.5.0
|
|
27
|
+
- @object-ui/core@4.5.0
|
|
28
|
+
- @object-ui/react@4.5.0
|
|
29
|
+
|
|
30
|
+
## 4.4.0
|
|
31
|
+
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- 2bd45af: feat(shell): main becomes the scroll container; record tabs are sticky
|
|
35
|
+
- `AppShell`'s SidebarProvider wrapper is now constrained to viewport
|
|
36
|
+
height (`h-svh overflow-hidden`) instead of expanding with content via
|
|
37
|
+
the default `min-h-svh`. This makes the inner `<main>` (which is
|
|
38
|
+
`overflow-auto`) the actual scroll container instead of the window.
|
|
39
|
+
- `RecordDetailView` page-mode container drops the redundant
|
|
40
|
+
`h-full overflow-auto` (avoids nested scrollers; main owns scroll now).
|
|
41
|
+
- `page:tabs` (horizontal) gets `sticky top-0 z-20` with a translucent
|
|
42
|
+
backdrop so the tab strip stays visible while users scroll through
|
|
43
|
+
long record pages — the Salesforce Lightning behaviour our schemas
|
|
44
|
+
were already implying.
|
|
45
|
+
- @object-ui/types@4.4.0
|
|
46
|
+
- @object-ui/core@4.4.0
|
|
47
|
+
- @object-ui/i18n@4.4.0
|
|
48
|
+
- @object-ui/react@4.4.0
|
|
49
|
+
|
|
50
|
+
## 4.3.1
|
|
51
|
+
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- 6b683c8: fix(detail): clean up record page rendering
|
|
55
|
+
- Drop `ai:chat_window` from the protocol-component placeholder list. The
|
|
56
|
+
floating chat overlay (plugin-chatbot) is the canonical AI entry point;
|
|
57
|
+
inline page schemas that still reference `ai:chat_window` now surface
|
|
58
|
+
as an explicit "Unknown component type" so the misconfiguration is
|
|
59
|
+
fixed at the source instead of silently leaking a placeholder card.
|
|
60
|
+
- `page:header` now resolves `{field.path}` tokens in `title` / `description`
|
|
61
|
+
against the current record context (matching the behaviour of the
|
|
62
|
+
alternative `containers.tsx` renderer). Without this, schemas like
|
|
63
|
+
`title: "{first_name} {last_name}"` rendered the literal template.
|
|
64
|
+
- `containers.tsx` `PageHeaderRenderer`: also read from `schema.properties.*`
|
|
65
|
+
as a fallback so both inlined and raw-bag schema shapes are supported.
|
|
66
|
+
|
|
67
|
+
- Updated dependencies [5f4ac6e]
|
|
68
|
+
- @object-ui/i18n@4.3.1
|
|
69
|
+
- @object-ui/react@4.3.1
|
|
70
|
+
- @object-ui/types@4.3.1
|
|
71
|
+
- @object-ui/core@4.3.1
|
|
72
|
+
|
|
3
73
|
## 4.3.0
|
|
4
74
|
|
|
5
75
|
### 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
|
}
|
|
@@ -546,6 +549,9 @@
|
|
|
546
549
|
.mr-1 {
|
|
547
550
|
margin-right: calc(var(--spacing) * 1);
|
|
548
551
|
}
|
|
552
|
+
.mr-1\.5 {
|
|
553
|
+
margin-right: calc(var(--spacing) * 1.5);
|
|
554
|
+
}
|
|
549
555
|
.mr-2 {
|
|
550
556
|
margin-right: calc(var(--spacing) * 2);
|
|
551
557
|
}
|
|
@@ -582,6 +588,9 @@
|
|
|
582
588
|
.ml-1 {
|
|
583
589
|
margin-left: calc(var(--spacing) * 1);
|
|
584
590
|
}
|
|
591
|
+
.ml-1\.5 {
|
|
592
|
+
margin-left: calc(var(--spacing) * 1.5);
|
|
593
|
+
}
|
|
585
594
|
.ml-2 {
|
|
586
595
|
margin-left: calc(var(--spacing) * 2);
|
|
587
596
|
}
|
|
@@ -1109,6 +1118,9 @@
|
|
|
1109
1118
|
.min-w-11 {
|
|
1110
1119
|
min-width: calc(var(--spacing) * 11);
|
|
1111
1120
|
}
|
|
1121
|
+
.min-w-\[1rem\] {
|
|
1122
|
+
min-width: 1rem;
|
|
1123
|
+
}
|
|
1112
1124
|
.min-w-\[8rem\] {
|
|
1113
1125
|
min-width: 8rem;
|
|
1114
1126
|
}
|
|
@@ -3945,6 +3957,12 @@
|
|
|
3945
3957
|
--tw-enter-translate-y: 0.5rem;
|
|
3946
3958
|
}
|
|
3947
3959
|
}
|
|
3960
|
+
.data-\[state\=active\]\:border {
|
|
3961
|
+
&[data-state="active"] {
|
|
3962
|
+
border-style: var(--tw-border-style);
|
|
3963
|
+
border-width: 1px;
|
|
3964
|
+
}
|
|
3965
|
+
}
|
|
3948
3966
|
.data-\[state\=active\]\:bg-background {
|
|
3949
3967
|
&[data-state="active"] {
|
|
3950
3968
|
background-color: var(--color-background);
|
|
@@ -4300,6 +4318,14 @@
|
|
|
4300
4318
|
transition-property: none;
|
|
4301
4319
|
}
|
|
4302
4320
|
}
|
|
4321
|
+
.supports-\[backdrop-filter\]\:bg-background\/60 {
|
|
4322
|
+
@supports (backdrop-filter: var(--tw)) {
|
|
4323
|
+
background-color: color-mix(in srgb, hsl(var(--background)) 60%, transparent);
|
|
4324
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4325
|
+
background-color: color-mix(in oklab, var(--color-background) 60%, transparent);
|
|
4326
|
+
}
|
|
4327
|
+
}
|
|
4328
|
+
}
|
|
4303
4329
|
.supports-\[backdrop-filter\]\:bg-background\/80 {
|
|
4304
4330
|
@supports (backdrop-filter: var(--tw)) {
|
|
4305
4331
|
background-color: color-mix(in srgb, hsl(var(--background)) 80%, transparent);
|
|
@@ -4758,6 +4784,11 @@
|
|
|
4758
4784
|
display: none;
|
|
4759
4785
|
}
|
|
4760
4786
|
}
|
|
4787
|
+
.md\:w-80 {
|
|
4788
|
+
@media (width >= 48rem) {
|
|
4789
|
+
width: calc(var(--spacing) * 80);
|
|
4790
|
+
}
|
|
4791
|
+
}
|
|
4761
4792
|
.md\:w-\[500px\] {
|
|
4762
4793
|
@media (width >= 48rem) {
|
|
4763
4794
|
width: 500px;
|