feat(slice5): catalog multi-select + bulk action bar (§22.4a PUC-2)

Faceted catalog rows are selectable for contributors; a sticky bulk bar
(BulkActionBar) drives set/add/remove gestures from the collection fields
schema, calls bulkEntryMeta (one commit), toasts applied/skipped counts,
and re-fetches. Non-contributors and legacy (no-fields) collections see
no selection (INV-5).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ben Stull
2026-06-07 20:51:48 -07:00
parent 282706d7ef
commit edbf68909a
6 changed files with 257 additions and 3 deletions
+17
View File
@@ -152,6 +152,23 @@
.row-tags { font-size: var(--text-xs); color: var(--c-gray-500); margin-top: 2px; }
.row-malformed { font-size: var(--text-2xs); color: var(--c-warning-accent); font-weight: 600; }
/* §22.4a SLICE-5 — row multi-select + bulk action bar (PUC-2, §5.3). */
.catalog-row-wrap { display: flex; align-items: flex-start; }
.catalog-row-wrap .row-select { margin: 10px 0 0 10px; flex: none; }
.catalog-row-wrap .catalog-row { flex: 1; min-width: 0; }
.bulk-action-bar {
position: sticky; top: 0; z-index: 2;
display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
padding: 8px 14px; margin: 0;
background: var(--c-gray-150); border-bottom: 1px solid var(--c-gray-300);
font-size: var(--text-xs);
}
.bulk-action-bar .bulk-count { font-weight: 700; }
.bulk-action-bar .bulk-set { display: flex; align-items: center; gap: 4px; }
.bulk-action-bar .bulk-tags { display: flex; align-items: center; gap: 4px; }
.bulk-action-bar .bulk-tags input { width: 90px; }
.bulk-action-bar .bulk-clear { margin-left: auto; }
/* §22.4a SLICE-3 — faceted left-pane filters (§5.1). */
.facets {
padding: 8px 14px;