@object-ui/plugin-kanban 5.0.2 → 5.2.1

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,168 @@
1
1
  # @object-ui/plugin-kanban
2
2
 
3
+ ## 5.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - @object-ui/types@5.2.1
8
+ - @object-ui/core@5.2.1
9
+ - @object-ui/i18n@5.2.1
10
+ - @object-ui/react@5.2.1
11
+ - @object-ui/components@5.2.1
12
+ - @object-ui/fields@5.2.1
13
+ - @object-ui/plugin-detail@5.2.1
14
+
15
+ ## 5.2.0
16
+
17
+ ### Minor Changes
18
+
19
+ - 77a6118: `KanbanBoard` collapses redundant per-column "No cards" placeholders into
20
+ a single board-level empty banner when **every** column is empty and the
21
+ board has more than one column. Individual columns keep their dashed
22
+ placeholder when they're the only empty column (so the asymmetry between
23
+ "this lane has zero cards" and "the whole board is empty" stays
24
+ readable). New internal prop `suppressEmptyPlaceholder` on the column
25
+ view; not part of the public API.
26
+
27
+ ### Patch Changes
28
+
29
+ - a3cb88f: CRM UX polish batch:
30
+ - Kanban columns: drop the per-column rainbow top stripe. Lane border + header divider are sufficient; cards are now the loudest thing on screen (Linear / HubSpot pattern).
31
+ - Stage chevron (`record:path`): bump completed-stage contrast (emerald-800 text on emerald-500/15, was 700 on /10) and future-stage text from `foreground/70` to `foreground/85` for legibility.
32
+ - i18n: add `notifications.emptyUnread`, `notifications.filterUnread`, `notifications.filterAll` (en + zh) so the InboxPopover Unread/All sub-filter renders in the active locale.
33
+ - 5425608: CRM UX polish pass — calmer enterprise look across detail + kanban.
34
+ - **plugin-kanban**: column headers now use a 2px muted accent stripe with
35
+ neutral foreground titles + a quiet grey count pill instead of full
36
+ rainbow gradient + colored title + colored count. Pipeline boards
37
+ (Opportunity, Case, Task, Lead) look like Salesforce/Linear instead of
38
+ a toy. WIP-limit overflow remains destructive-red so urgency stays loud.
39
+ - **plugin-detail (`record:reference_rail`)**: new `hideEmpty` prop
40
+ (default true) collapses entries whose total === 0 into a single
41
+ `+ N empty (Quotes · Products …)` chip at the bottom of the rail.
42
+ Removes the 4–7 "No records" stack that dominated the aside.
43
+ - **plugin-detail (`record:path`)**: completed stages now render with an
44
+ emerald-tinted background + bold green check instead of low-contrast
45
+ `bg-muted text-muted-foreground` (which read as "light grey on white"
46
+ and was borderline unreadable).
47
+ - **app-shell (`RecordDetailView`)**: record-not-found short-circuit.
48
+ Previously a stale/missing recordId still rendered the page chrome
49
+ (rail, discussion, breadcrumb with the raw id), making invalid links
50
+ look like a partially broken page. Now renders a clean centered
51
+ `Empty` state with database icon + i18n'd "Record not found" copy.
52
+ - **i18n**: added `detail.showEmptyRelated_{one,other}` and
53
+ `empty.recordNotFound{,Description}` keys (en + zh).
54
+
55
+ - d912a60: CRM polish — denser kanban cards, smarter currency, calmer dates.
56
+ - **plugin-kanban card body**: drop the verbose `Label: value` two-column
57
+ grid in favor of a single-column dense list (values only, with the
58
+ field label preserved as a hover `title` for accessibility). Pipeline
59
+ cards across Salesforce / HubSpot / Linear all do this because the
60
+ value's own type carries its meaning, and the saved space lets the
61
+ title breathe.
62
+ - **fields/formatCurrency**: drop trailing `.00` when the value is a
63
+ whole number (Salesforce convention: `$1,234.50` keeps cents,
64
+ `$1,234` doesn't). Pipeline amounts like `500,000.00` now read as
65
+ `500,000`.
66
+ - **fields/formatDate** default branch: drop the year when it matches
67
+ the current year — `7月21日` instead of `2026年7月21日`. Past- and
68
+ future-year dates keep the year for disambiguation
69
+ (`2025年11月23日`).
70
+ - **fields/CurrencyCellRenderer**: removed the now-redundant
71
+ `.replace(/[.,]00$/, '')` workaround that hid cents for `precision:0`
72
+ fields; the formatter now handles whole-unit trimming natively.
73
+
74
+ - 87bc8ff: `DataEmptyState` (re-exported as `EmptyState`) is now the canonical
75
+ platform primitive for "no records / no data" states. Two new props
76
+ keep it flexible enough to absorb the hand-rolled variants that lived
77
+ in `plugin-list`, `plugin-kanban`, and `plugin-dashboard`:
78
+ - `showIcon?: boolean` — drops the icon container entirely. Used by the
79
+ kanban board-level empty banner, which is a status banner rather than
80
+ a true empty-state.
81
+ - `iconWrapperClassName?: string` — overrides the default muted rounded
82
+ square. Pass `""` to render the icon raw (used by `ListView`'s grid
83
+ empty state, which uses a large standalone glyph).
84
+
85
+ Adopters:
86
+ - `plugin-list` (`ListView` grid empty-state) — preserves the existing
87
+ large icon, title, message, add-record button and `data-testid`s,
88
+ but delegates the structural markup to `DataEmptyState`.
89
+ - `plugin-kanban` (board-level "all columns empty" banner) — keeps the
90
+ dashed border + `role="status"` / `aria-live="polite"` semantics.
91
+ - `plugin-dashboard` (`PivotTable` zero-rows branch) — keeps the
92
+ custom 4-quad SVG icon and `pivot-empty-state` test id.
93
+
94
+ No public-API change for consumers; the older inline markup is gone
95
+ but the rendered output, translation keys, and test hooks are
96
+ preserved.
97
+
98
+ - Updated dependencies [de0c5e6]
99
+ - Updated dependencies [9997cae]
100
+ - Updated dependencies [321294c]
101
+ - Updated dependencies [b2d1704]
102
+ - Updated dependencies [0a644f0]
103
+ - Updated dependencies [a3cb88f]
104
+ - Updated dependencies [5425608]
105
+ - Updated dependencies [6c3f018]
106
+ - Updated dependencies [d912a60]
107
+ - Updated dependencies [5633edd]
108
+ - Updated dependencies [87bc8ff]
109
+ - Updated dependencies [3ebba63]
110
+ - Updated dependencies [7c441f5]
111
+ - Updated dependencies [e919433]
112
+ - Updated dependencies [a8d12ec]
113
+ - Updated dependencies [70b5570]
114
+ - Updated dependencies [aa063db]
115
+ - Updated dependencies [d9c3bae]
116
+ - Updated dependencies [3216f8a]
117
+ - Updated dependencies [d1442e3]
118
+ - Updated dependencies [7c7400a]
119
+ - @object-ui/types@5.2.0
120
+ - @object-ui/core@5.2.0
121
+ - @object-ui/i18n@5.2.0
122
+ - @object-ui/react@5.2.0
123
+ - @object-ui/plugin-detail@5.2.0
124
+ - @object-ui/fields@5.2.0
125
+ - @object-ui/components@5.2.0
126
+
127
+ ## 5.1.1
128
+
129
+ ### Patch Changes
130
+
131
+ - Updated dependencies [8955b9c]
132
+ - @object-ui/components@5.1.1
133
+ - @object-ui/fields@5.1.1
134
+ - @object-ui/plugin-detail@5.1.1
135
+ - @object-ui/types@5.1.1
136
+ - @object-ui/core@5.1.1
137
+ - @object-ui/i18n@5.1.1
138
+ - @object-ui/react@5.1.1
139
+
140
+ ## 5.1.0
141
+
142
+ ### Patch Changes
143
+
144
+ - Updated dependencies [bd8447d]
145
+ - Updated dependencies [fbd5052]
146
+ - Updated dependencies [d51a577]
147
+ - Updated dependencies [1976691]
148
+ - Updated dependencies [d1ec6a2]
149
+ - Updated dependencies [cf30cc2]
150
+ - Updated dependencies [32306e8]
151
+ - Updated dependencies [5b80cfd]
152
+ - Updated dependencies [49b1760]
153
+ - Updated dependencies [a49f300]
154
+ - Updated dependencies [c0b236f]
155
+ - Updated dependencies [8fd863e]
156
+ - Updated dependencies [1cb6e21]
157
+ - Updated dependencies [d548d6b]
158
+ - @object-ui/components@5.1.0
159
+ - @object-ui/plugin-detail@5.1.0
160
+ - @object-ui/react@5.1.0
161
+ - @object-ui/i18n@5.1.0
162
+ - @object-ui/types@5.1.0
163
+ - @object-ui/core@5.1.0
164
+ - @object-ui/fields@5.1.0
165
+
3
166
  ## 5.0.2
4
167
 
5
168
  ### Patch Changes
package/dist/index.js CHANGED
Binary file
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanImpl.d.ts","sourceRoot":"","sources":["../../../../src/KanbanImpl.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAkE9B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;IAChF,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACrH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAA;IACrD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACnD,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AA8SD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,EAAE,gBAAgB,2CAYjL"}
1
+ {"version":3,"file":"KanbanImpl.d.ts","sourceRoot":"","sources":["../../../../src/KanbanImpl.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwC9B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;IAChF,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACrH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAA;IACrD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACnD,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAwTD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,EAAE,gBAAgB,2CAYjL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@object-ui/plugin-kanban",
3
- "version": "5.0.2",
3
+ "version": "5.2.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Kanban board plugin for Object UI, powered by dnd-kit",
@@ -29,13 +29,13 @@
29
29
  "@dnd-kit/utilities": "^3.2.2",
30
30
  "@tanstack/react-virtual": "^3.13.24",
31
31
  "lucide-react": "^1.16.0",
32
- "@object-ui/components": "5.0.2",
33
- "@object-ui/core": "5.0.2",
34
- "@object-ui/fields": "5.0.2",
35
- "@object-ui/i18n": "5.0.2",
36
- "@object-ui/plugin-detail": "5.0.2",
37
- "@object-ui/react": "5.0.2",
38
- "@object-ui/types": "5.0.2"
32
+ "@object-ui/components": "5.2.1",
33
+ "@object-ui/core": "5.2.1",
34
+ "@object-ui/fields": "5.2.1",
35
+ "@object-ui/i18n": "5.2.1",
36
+ "@object-ui/plugin-detail": "5.2.1",
37
+ "@object-ui/react": "5.2.1",
38
+ "@object-ui/types": "5.2.1"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "react": "^18.0.0 || ^19.0.0",
@@ -48,7 +48,7 @@
48
48
  "typescript": "^6.0.3",
49
49
  "vite": "^8.0.13",
50
50
  "vite-plugin-dts": "^5.0.0",
51
- "@object-ui/data-objectstack": "5.0.2"
51
+ "@object-ui/data-objectstack": "5.2.1"
52
52
  },
53
53
  "keywords": [
54
54
  "objectui",