@object-ui/components 5.1.1 → 5.3.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,86 @@
1
1
  # @object-ui/components
2
2
 
3
+ ## 5.3.0
4
+
5
+ ### Patch Changes
6
+
7
+ - @object-ui/types@5.3.0
8
+ - @object-ui/core@5.3.0
9
+ - @object-ui/i18n@5.3.0
10
+ - @object-ui/react@5.3.0
11
+
12
+ ## 5.2.1
13
+
14
+ ### Patch Changes
15
+
16
+ - @object-ui/types@5.2.1
17
+ - @object-ui/core@5.2.1
18
+ - @object-ui/i18n@5.2.1
19
+ - @object-ui/react@5.2.1
20
+
21
+ ## 5.2.0
22
+
23
+ ### Minor Changes
24
+
25
+ - 87bc8ff: `DataEmptyState` (re-exported as `EmptyState`) is now the canonical
26
+ platform primitive for "no records / no data" states. Two new props
27
+ keep it flexible enough to absorb the hand-rolled variants that lived
28
+ in `plugin-list`, `plugin-kanban`, and `plugin-dashboard`:
29
+ - `showIcon?: boolean` — drops the icon container entirely. Used by the
30
+ kanban board-level empty banner, which is a status banner rather than
31
+ a true empty-state.
32
+ - `iconWrapperClassName?: string` — overrides the default muted rounded
33
+ square. Pass `""` to render the icon raw (used by `ListView`'s grid
34
+ empty state, which uses a large standalone glyph).
35
+
36
+ Adopters:
37
+ - `plugin-list` (`ListView` grid empty-state) — preserves the existing
38
+ large icon, title, message, add-record button and `data-testid`s,
39
+ but delegates the structural markup to `DataEmptyState`.
40
+ - `plugin-kanban` (board-level "all columns empty" banner) — keeps the
41
+ dashed border + `role="status"` / `aria-live="polite"` semantics.
42
+ - `plugin-dashboard` (`PivotTable` zero-rows branch) — keeps the
43
+ custom 4-quad SVG icon and `pivot-empty-state` test id.
44
+
45
+ No public-API change for consumers; the older inline markup is gone
46
+ but the rendered output, translation keys, and test hooks are
47
+ preserved.
48
+
49
+ - a8d12ec: `page:header` subtitle and title-format interpolation now translates
50
+ enum field values through the i18n option-label dictionary.
51
+
52
+ A schema like `subtitle: "{industry} · {type}"` previously rendered the
53
+ raw enum values (`"technology · customer"`) regardless of locale or
54
+ authored option labels. The interpolator now looks up the current
55
+ record's `objectSchema.fields` and routes each token through
56
+ `useSafeFieldLabel().fieldOptionLabel(...)`, so the same template
57
+ renders as `"科技 · 正式客户"` in zh-CN and `"Technology · Customer"`
58
+ in en — without authors having to write per-locale subtitle templates.
59
+
60
+ The change is transparent for tokens that resolve to non-enum field
61
+ values; only fields with an `options` array are remapped.
62
+
63
+ ### Patch Changes
64
+
65
+ - Updated dependencies [de0c5e6]
66
+ - Updated dependencies [9997cae]
67
+ - Updated dependencies [321294c]
68
+ - Updated dependencies [b2d1704]
69
+ - Updated dependencies [0a644f0]
70
+ - Updated dependencies [a3cb88f]
71
+ - Updated dependencies [5425608]
72
+ - Updated dependencies [3ebba63]
73
+ - Updated dependencies [e919433]
74
+ - Updated dependencies [70b5570]
75
+ - Updated dependencies [aa063db]
76
+ - Updated dependencies [d9c3bae]
77
+ - Updated dependencies [d1442e3]
78
+ - Updated dependencies [7c7400a]
79
+ - @object-ui/types@5.2.0
80
+ - @object-ui/core@5.2.0
81
+ - @object-ui/i18n@5.2.0
82
+ - @object-ui/react@5.2.0
83
+
3
84
  ## 5.1.1
4
85
 
5
86
  ### Patch Changes
package/dist/index.css CHANGED
@@ -4449,6 +4449,48 @@
4449
4449
  }
4450
4450
  }
4451
4451
  }
4452
+ .motion-safe\:bg-\[linear-gradient\(90deg\,hsl\(var\(--muted\)\)_0\%\,hsl\(var\(--muted-foreground\)\/0\.12\)_50\%\,hsl\(var\(--muted\)\)_100\%\)\] {
4453
+ @media (prefers-reduced-motion: no-preference) {
4454
+ background-image: linear-gradient(90deg,hsl(var(--muted)) 0%,hsl(var(--muted-foreground)/0.12) 50%,hsl(var(--muted)) 100%);
4455
+ }
4456
+ }
4457
+ .motion-safe\:bg-\[length\:200\%_100\%\] {
4458
+ @media (prefers-reduced-motion: no-preference) {
4459
+ background-size: 200% 100%;
4460
+ }
4461
+ }
4462
+ .motion-safe\:duration-300 {
4463
+ @media (prefers-reduced-motion: no-preference) {
4464
+ --tw-duration: 300ms;
4465
+ transition-duration: 300ms;
4466
+ }
4467
+ }
4468
+ .motion-safe\:animate-in {
4469
+ @media (prefers-reduced-motion: no-preference) {
4470
+ animation-name: enter;
4471
+ animation-duration: 150ms;
4472
+ --tw-enter-opacity: initial;
4473
+ --tw-enter-scale: initial;
4474
+ --tw-enter-rotate: initial;
4475
+ --tw-enter-translate-x: initial;
4476
+ --tw-enter-translate-y: initial;
4477
+ }
4478
+ }
4479
+ .motion-safe\:duration-300 {
4480
+ @media (prefers-reduced-motion: no-preference) {
4481
+ animation-duration: 300ms;
4482
+ }
4483
+ }
4484
+ .motion-safe\:fade-in-0 {
4485
+ @media (prefers-reduced-motion: no-preference) {
4486
+ --tw-enter-opacity: 0;
4487
+ }
4488
+ }
4489
+ .motion-safe\:zoom-in-95 {
4490
+ @media (prefers-reduced-motion: no-preference) {
4491
+ --tw-enter-scale: .95;
4492
+ }
4493
+ }
4452
4494
  .sm\:relative {
4453
4495
  @media (width >= 40rem) {
4454
4496
  position: relative;
@@ -5681,6 +5723,16 @@
5681
5723
  height: calc(var(--spacing) * 4);
5682
5724
  }
5683
5725
  }
5726
+ .\[\&_svg\]\:max-h-40 {
5727
+ & svg {
5728
+ max-height: calc(var(--spacing) * 40);
5729
+ }
5730
+ }
5731
+ .\[\&_svg\]\:w-auto {
5732
+ & svg {
5733
+ width: auto;
5734
+ }
5735
+ }
5684
5736
  .\[\&_svg\]\:shrink-0 {
5685
5737
  & svg {
5686
5738
  flex-shrink: 0;