@handled-ai/design-system 0.18.10 → 0.18.12
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/dist/components/account-contacts-popover.d.ts +5 -1
- package/dist/components/account-contacts-popover.js +25 -4
- package/dist/components/account-contacts-popover.js.map +1 -1
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/data-table-condition-filter.d.ts +15 -3
- package/dist/components/data-table-condition-filter.js +199 -52
- package/dist/components/data-table-condition-filter.js.map +1 -1
- package/dist/components/data-table-filter.js +7 -8
- package/dist/components/data-table-filter.js.map +1 -1
- package/dist/components/entity-panel.d.ts +2 -1
- package/dist/components/entity-panel.js +52 -45
- package/dist/components/entity-panel.js.map +1 -1
- package/dist/components/pill.d.ts +1 -1
- package/dist/components/score-why-chips.d.ts +1 -1
- package/dist/components/signal-priority-popover.d.ts +1 -1
- package/dist/components/signal-priority-popover.js +4 -4
- package/dist/components/signal-priority-popover.js.map +1 -1
- package/dist/components/tabs.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/prototype/index.d.ts +1 -1
- package/dist/prototype/prototype-accounts-view.d.ts +1 -1
- package/dist/prototype/prototype-admin-view.d.ts +1 -1
- package/dist/prototype/prototype-config.d.ts +1 -1
- package/dist/prototype/prototype-inbox-view.d.ts +5 -3
- package/dist/prototype/prototype-inbox-view.js +11 -5
- package/dist/prototype/prototype-inbox-view.js.map +1 -1
- package/dist/prototype/prototype-insights-view.d.ts +1 -1
- package/dist/prototype/prototype-shell.d.ts +1 -1
- package/dist/{signal-priority-popover-BT6CPYNs.d.ts → signal-priority-popover-BEDoPsNE.d.ts} +6 -0
- package/package.json +1 -2
- package/src/components/__tests__/account-contacts-popover.test.tsx +79 -0
- package/src/components/__tests__/data-table-condition-filter.test.tsx +239 -7
- package/src/components/__tests__/entity-panel-header.test.tsx +44 -0
- package/src/components/__tests__/signal-priority-popover.test.tsx +30 -0
- package/src/components/account-contacts-popover.tsx +29 -1
- package/src/components/data-table-condition-filter.tsx +278 -68
- package/src/components/data-table-filter.tsx +6 -9
- package/src/components/entity-panel.tsx +56 -40
- package/src/components/signal-priority-popover.tsx +15 -4
- package/src/prototype/__tests__/detail-view-title-slots.test.tsx +15 -0
- package/src/prototype/prototype-config.ts +2 -0
- package/src/prototype/prototype-inbox-view.tsx +17 -5
|
@@ -62,4 +62,19 @@ describe("DetailView title slots", () => {
|
|
|
62
62
|
|
|
63
63
|
expect(screen.getByRole("button", { name: "Quick action" })).toBeTruthy()
|
|
64
64
|
})
|
|
65
|
+
it("renders a full-width title action row without replacing title extra or metadata", () => {
|
|
66
|
+
renderDetailView({
|
|
67
|
+
renderTitleExtra: () => <span data-testid="title-extra">Compact extra</span>,
|
|
68
|
+
renderTitleActionRow: () => (
|
|
69
|
+
<button type="button">Full-width quick action</button>
|
|
70
|
+
),
|
|
71
|
+
renderMetadataExtra: () => <span data-testid="metadata-extra">Owner: Lee</span>,
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
expect(screen.getByTestId("title-extra").textContent).toBe("Compact extra")
|
|
75
|
+
expect(screen.getByRole("button", { name: "Full-width quick action" })).toBeTruthy()
|
|
76
|
+
expect(screen.getByTestId("metadata-extra").textContent).toBe("Owner: Lee")
|
|
77
|
+
expect(screen.getByTestId("priority-popover-trigger")).toBeTruthy()
|
|
78
|
+
})
|
|
79
|
+
|
|
65
80
|
})
|
|
@@ -229,6 +229,8 @@ export interface InboxViewConfig {
|
|
|
229
229
|
attentionCount?: number
|
|
230
230
|
/** Render extra content inline with the detail title. */
|
|
231
231
|
renderTitleExtra?: (item: QueueItem) => React.ReactNode
|
|
232
|
+
/** Render a full-width action row below the detail title row. */
|
|
233
|
+
renderTitleActionRow?: (item: QueueItem) => React.ReactNode
|
|
232
234
|
/** Render supporting content below the detail title. */
|
|
233
235
|
renderTitleSubtext?: (item: QueueItem) => React.ReactNode
|
|
234
236
|
/** Sort options for the inbox. When provided, a sort dropdown is rendered in the split view toolbar. */
|
|
@@ -141,6 +141,8 @@ export interface DetailViewProps {
|
|
|
141
141
|
lastActivityTime?: string
|
|
142
142
|
/** Render extra content inline with the detail title. */
|
|
143
143
|
renderTitleExtra?: (item: QueueItem) => React.ReactNode
|
|
144
|
+
/** Render a full-width action row below the detail title row. */
|
|
145
|
+
renderTitleActionRow?: (item: QueueItem) => React.ReactNode
|
|
144
146
|
/** Render supporting content below the detail title. */
|
|
145
147
|
renderTitleSubtext?: (item: QueueItem) => React.ReactNode
|
|
146
148
|
/** Render extra metadata chips (e.g. assignee) inside the chips row below the title. */
|
|
@@ -321,6 +323,7 @@ export function DetailView({
|
|
|
321
323
|
renderAfterScore,
|
|
322
324
|
lastActivityTime,
|
|
323
325
|
renderTitleExtra,
|
|
326
|
+
renderTitleActionRow,
|
|
324
327
|
renderTitleSubtext,
|
|
325
328
|
renderMetadataExtra,
|
|
326
329
|
onOpenSignalBucket,
|
|
@@ -468,12 +471,19 @@ export function DetailView({
|
|
|
468
471
|
<span className="text-xs text-muted-foreground">{item.company}</span>
|
|
469
472
|
</div>
|
|
470
473
|
|
|
471
|
-
<div className="mb-3
|
|
472
|
-
<div className="
|
|
473
|
-
<
|
|
474
|
-
|
|
474
|
+
<div className="mb-3 space-y-3">
|
|
475
|
+
<div className="flex flex-wrap items-start gap-x-3 gap-y-2">
|
|
476
|
+
<div className="min-w-0 flex-1">
|
|
477
|
+
<h1 className="text-2xl font-bold tracking-tight text-foreground">{item.title}</h1>
|
|
478
|
+
{renderTitleSubtext?.(item)}
|
|
479
|
+
</div>
|
|
480
|
+
{renderTitleExtra?.(item)}
|
|
475
481
|
</div>
|
|
476
|
-
{
|
|
482
|
+
{renderTitleActionRow ? (
|
|
483
|
+
<div className="flex w-full flex-wrap items-center gap-2">
|
|
484
|
+
{renderTitleActionRow(item)}
|
|
485
|
+
</div>
|
|
486
|
+
) : null}
|
|
477
487
|
</div>
|
|
478
488
|
|
|
479
489
|
<div className="mb-6 flex flex-wrap items-center gap-2">
|
|
@@ -649,6 +659,7 @@ export function PrototypeInboxView({
|
|
|
649
659
|
timelineSystemEventsConfig,
|
|
650
660
|
attentionCount,
|
|
651
661
|
renderTitleExtra,
|
|
662
|
+
renderTitleActionRow,
|
|
652
663
|
renderTitleSubtext,
|
|
653
664
|
sortOptions,
|
|
654
665
|
activeSortId,
|
|
@@ -891,6 +902,7 @@ export function PrototypeInboxView({
|
|
|
891
902
|
timelineSystemEventsConfig,
|
|
892
903
|
attentionCount,
|
|
893
904
|
renderTitleExtra,
|
|
905
|
+
renderTitleActionRow,
|
|
894
906
|
renderTitleSubtext,
|
|
895
907
|
onOpenSignalBucket,
|
|
896
908
|
}
|