@object-ui/plugin-kanban 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,141 @@
1
1
  # @object-ui/plugin-kanban
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
+ - @object-ui/components@5.3.0
12
+ - @object-ui/fields@5.3.0
13
+ - @object-ui/plugin-detail@5.3.0
14
+
15
+ ## 5.2.1
16
+
17
+ ### Patch Changes
18
+
19
+ - @object-ui/types@5.2.1
20
+ - @object-ui/core@5.2.1
21
+ - @object-ui/i18n@5.2.1
22
+ - @object-ui/react@5.2.1
23
+ - @object-ui/components@5.2.1
24
+ - @object-ui/fields@5.2.1
25
+ - @object-ui/plugin-detail@5.2.1
26
+
27
+ ## 5.2.0
28
+
29
+ ### Minor Changes
30
+
31
+ - 77a6118: `KanbanBoard` collapses redundant per-column "No cards" placeholders into
32
+ a single board-level empty banner when **every** column is empty and the
33
+ board has more than one column. Individual columns keep their dashed
34
+ placeholder when they're the only empty column (so the asymmetry between
35
+ "this lane has zero cards" and "the whole board is empty" stays
36
+ readable). New internal prop `suppressEmptyPlaceholder` on the column
37
+ view; not part of the public API.
38
+
39
+ ### Patch Changes
40
+
41
+ - a3cb88f: CRM UX polish batch:
42
+ - 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).
43
+ - 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.
44
+ - i18n: add `notifications.emptyUnread`, `notifications.filterUnread`, `notifications.filterAll` (en + zh) so the InboxPopover Unread/All sub-filter renders in the active locale.
45
+ - 5425608: CRM UX polish pass — calmer enterprise look across detail + kanban.
46
+ - **plugin-kanban**: column headers now use a 2px muted accent stripe with
47
+ neutral foreground titles + a quiet grey count pill instead of full
48
+ rainbow gradient + colored title + colored count. Pipeline boards
49
+ (Opportunity, Case, Task, Lead) look like Salesforce/Linear instead of
50
+ a toy. WIP-limit overflow remains destructive-red so urgency stays loud.
51
+ - **plugin-detail (`record:reference_rail`)**: new `hideEmpty` prop
52
+ (default true) collapses entries whose total === 0 into a single
53
+ `+ N empty (Quotes · Products …)` chip at the bottom of the rail.
54
+ Removes the 4–7 "No records" stack that dominated the aside.
55
+ - **plugin-detail (`record:path`)**: completed stages now render with an
56
+ emerald-tinted background + bold green check instead of low-contrast
57
+ `bg-muted text-muted-foreground` (which read as "light grey on white"
58
+ and was borderline unreadable).
59
+ - **app-shell (`RecordDetailView`)**: record-not-found short-circuit.
60
+ Previously a stale/missing recordId still rendered the page chrome
61
+ (rail, discussion, breadcrumb with the raw id), making invalid links
62
+ look like a partially broken page. Now renders a clean centered
63
+ `Empty` state with database icon + i18n'd "Record not found" copy.
64
+ - **i18n**: added `detail.showEmptyRelated_{one,other}` and
65
+ `empty.recordNotFound{,Description}` keys (en + zh).
66
+
67
+ - d912a60: CRM polish — denser kanban cards, smarter currency, calmer dates.
68
+ - **plugin-kanban card body**: drop the verbose `Label: value` two-column
69
+ grid in favor of a single-column dense list (values only, with the
70
+ field label preserved as a hover `title` for accessibility). Pipeline
71
+ cards across Salesforce / HubSpot / Linear all do this because the
72
+ value's own type carries its meaning, and the saved space lets the
73
+ title breathe.
74
+ - **fields/formatCurrency**: drop trailing `.00` when the value is a
75
+ whole number (Salesforce convention: `$1,234.50` keeps cents,
76
+ `$1,234` doesn't). Pipeline amounts like `500,000.00` now read as
77
+ `500,000`.
78
+ - **fields/formatDate** default branch: drop the year when it matches
79
+ the current year — `7月21日` instead of `2026年7月21日`. Past- and
80
+ future-year dates keep the year for disambiguation
81
+ (`2025年11月23日`).
82
+ - **fields/CurrencyCellRenderer**: removed the now-redundant
83
+ `.replace(/[.,]00$/, '')` workaround that hid cents for `precision:0`
84
+ fields; the formatter now handles whole-unit trimming natively.
85
+
86
+ - 87bc8ff: `DataEmptyState` (re-exported as `EmptyState`) is now the canonical
87
+ platform primitive for "no records / no data" states. Two new props
88
+ keep it flexible enough to absorb the hand-rolled variants that lived
89
+ in `plugin-list`, `plugin-kanban`, and `plugin-dashboard`:
90
+ - `showIcon?: boolean` — drops the icon container entirely. Used by the
91
+ kanban board-level empty banner, which is a status banner rather than
92
+ a true empty-state.
93
+ - `iconWrapperClassName?: string` — overrides the default muted rounded
94
+ square. Pass `""` to render the icon raw (used by `ListView`'s grid
95
+ empty state, which uses a large standalone glyph).
96
+
97
+ Adopters:
98
+ - `plugin-list` (`ListView` grid empty-state) — preserves the existing
99
+ large icon, title, message, add-record button and `data-testid`s,
100
+ but delegates the structural markup to `DataEmptyState`.
101
+ - `plugin-kanban` (board-level "all columns empty" banner) — keeps the
102
+ dashed border + `role="status"` / `aria-live="polite"` semantics.
103
+ - `plugin-dashboard` (`PivotTable` zero-rows branch) — keeps the
104
+ custom 4-quad SVG icon and `pivot-empty-state` test id.
105
+
106
+ No public-API change for consumers; the older inline markup is gone
107
+ but the rendered output, translation keys, and test hooks are
108
+ preserved.
109
+
110
+ - Updated dependencies [de0c5e6]
111
+ - Updated dependencies [9997cae]
112
+ - Updated dependencies [321294c]
113
+ - Updated dependencies [b2d1704]
114
+ - Updated dependencies [0a644f0]
115
+ - Updated dependencies [a3cb88f]
116
+ - Updated dependencies [5425608]
117
+ - Updated dependencies [6c3f018]
118
+ - Updated dependencies [d912a60]
119
+ - Updated dependencies [5633edd]
120
+ - Updated dependencies [87bc8ff]
121
+ - Updated dependencies [3ebba63]
122
+ - Updated dependencies [7c441f5]
123
+ - Updated dependencies [e919433]
124
+ - Updated dependencies [a8d12ec]
125
+ - Updated dependencies [70b5570]
126
+ - Updated dependencies [aa063db]
127
+ - Updated dependencies [d9c3bae]
128
+ - Updated dependencies [3216f8a]
129
+ - Updated dependencies [d1442e3]
130
+ - Updated dependencies [7c7400a]
131
+ - @object-ui/types@5.2.0
132
+ - @object-ui/core@5.2.0
133
+ - @object-ui/i18n@5.2.0
134
+ - @object-ui/react@5.2.0
135
+ - @object-ui/plugin-detail@5.2.0
136
+ - @object-ui/fields@5.2.0
137
+ - @object-ui/components@5.2.0
138
+
3
139
  ## 5.1.1
4
140
 
5
141
  ### 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.1.1",
3
+ "version": "5.3.0",
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.1.1",
33
- "@object-ui/core": "5.1.1",
34
- "@object-ui/fields": "5.1.1",
35
- "@object-ui/i18n": "5.1.1",
36
- "@object-ui/plugin-detail": "5.1.1",
37
- "@object-ui/react": "5.1.1",
38
- "@object-ui/types": "5.1.1"
32
+ "@object-ui/components": "5.3.0",
33
+ "@object-ui/core": "5.3.0",
34
+ "@object-ui/fields": "5.3.0",
35
+ "@object-ui/i18n": "5.3.0",
36
+ "@object-ui/plugin-detail": "5.3.0",
37
+ "@object-ui/react": "5.3.0",
38
+ "@object-ui/types": "5.3.0"
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.1.1"
51
+ "@object-ui/data-objectstack": "5.3.0"
52
52
  },
53
53
  "keywords": [
54
54
  "objectui",