bdsa-react-components 0.1.18 → 0.1.19

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
@@ -5,6 +5,230 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.1.19] - 2025-11-10
9
+
10
+ ### Added - Major UX Improvements and AI Model Detection 🚀
11
+
12
+ #### FolderBrowser: Item Count Display 📊
13
+ - **New prop**: `showItemCount?: boolean` - Display total item counts next to folder names
14
+ - Item count appears immediately after folder name: `myFolder (150)...`
15
+ - Shows `...` indicator when more items are available for pagination
16
+ - **Double-click the `...`** to automatically load ALL remaining items in background
17
+ - Shows ⏳ (hourglass) with pulse animation while loading all items
18
+ - Clickable indicator styled with blue color and hover underline
19
+ - Works with `showItems={false}` if `fetchItems={true}` is enabled
20
+
21
+ #### FolderBrowser: AI Model Detection 🤖
22
+ - **Automatic item classification** based on metadata:
23
+ - 🤖 **AI Model** - Items with `meta.dataset_args` AND `meta.train_args`
24
+ - 🖼️ **Image** - Items with `largeImage` flag
25
+ - 📄 **Item** - Regular items
26
+ - Type labels update dynamically: "AI Model", "Image", or "Item"
27
+ - **New utility functions**:
28
+ - `isAIModel(item: Item): boolean` - Check if item has AI model metadata
29
+ - `filterAIModels(items: Item[]): Item[]` - Filter array to only AI models
30
+ - Updated `Item` type interface with AI model metadata fields:
31
+ - `meta.dataset_args?: unknown`
32
+ - `meta.train_args?: unknown`
33
+ - `meta.results?: unknown`
34
+
35
+ #### FolderBrowser: Scroll Stability 🎯
36
+ - **Fixed scroll jumping** when expanding/collapsing folders
37
+ - Clicked folder stays in exact same position on screen
38
+ - Calculates position before DOM changes and compensates after
39
+ - No more losing track of which folder you just clicked
40
+ - Works for both expand and collapse operations
41
+
42
+ #### FolderBrowser: Visual Feedback 👁️
43
+ - **Last-clicked folder** gets prominent dark blue highlight
44
+ - Helps track which folder you're currently interacting with
45
+ - New CSS class: `.bdsa-folder-browser__folder-header.last-clicked`
46
+ - Darker blue background (#bbdefb)
47
+ - Thicker 3px left border (#1976d2)
48
+ - Persists until you click a different folder
49
+ - Follows standard UX patterns for active/selected states
50
+
51
+ #### FolderBrowser: Authentication Integration 🔐
52
+ - Fixed authentication state detection in Storybook examples
53
+ - Added "With Authentication" story showing proper integration with `DsaAuthManager`
54
+ - Added "With Item Filtering" story demonstrating item count and filtering
55
+ - Shows "Browsing public resources" indicator when not authenticated
56
+ - Automatic token passing via `apiHeaders` when authenticated
57
+ - Component re-mounts on auth state change using `key` prop pattern
58
+ - Works for both public and private resources
59
+
60
+ ### Changed - Layout and Styling
61
+
62
+ #### FolderBrowser: Item Count Layout
63
+ - Item count appears left-justified immediately after folder name
64
+ - Changed `.bdsa-folder-browser__folder-name` from `flex: 1` to `flex: 0 1 auto`
65
+ - Added `max-width: 60%` to folder name to prevent excessive expansion
66
+ - Changed `.bdsa-folder-browser__folder-type` to use `margin-left: auto` (pushed to right)
67
+ - Prevents wide layouts from creating large gaps between name and count
68
+
69
+ #### New CSS Classes
70
+ - `.bdsa-folder-browser__item-count` - Item count display styling
71
+ - `.bdsa-folder-browser__load-all-indicator` - Clickable "..." indicator
72
+ - `.bdsa-folder-browser__load-all-indicator:hover` - Hover state with underline
73
+ - `.bdsa-folder-browser__load-all-indicator.loading` - Loading state with pulse animation
74
+ - `@keyframes pulse` - Animation for loading indicator
75
+
76
+ ### Fixed
77
+
78
+ #### FolderBrowser: Item Count Display
79
+ - Fixed item count not appearing for array-based API responses
80
+ - Now correctly handles both array and paginated response formats
81
+ - Calculates `totalCount` from array length when API doesn't provide it
82
+ - Shows count even when `itemsPerPage` is default (50)
83
+
84
+ #### FolderBrowser: Storybook Auth Integration
85
+ - Fixed incorrect destructuring of `useDsaAuth()` return value
86
+ - Corrected from `{ isAuthenticated, token, userInfo }` to `{ authStatus, getToken }`
87
+ - Added proper derived values: `token = getToken()`, `isAuthenticated = authStatus.isAuthenticated`
88
+ - Added debug logging to help troubleshoot auth state issues
89
+
90
+ #### FolderBrowser: Scroll Behavior
91
+ - Replaced `scrollIntoView` with position-based scroll compensation
92
+ - Captures element position relative to scroll container before changes
93
+ - Adjusts scroll position after DOM updates to keep element stable
94
+ - Works with nested scroll containers (e.g., Storybook panels)
95
+
96
+ ### Technical Details
97
+
98
+ #### Load All Items Implementation
99
+ - New `loadAllItems` callback function handles bulk loading
100
+ - Uses while loop to paginate through all items until `hasMore` is false
101
+ - Properly stops propagation to prevent folder collapse/expand
102
+ - Updates loading state to show visual feedback
103
+ - Console logging tracks progress for debugging
104
+
105
+ #### Item Classification Logic
106
+ Priority order for icon selection:
107
+ 1. Check `isAIModel(item)` - requires BOTH `dataset_args` AND `train_args`
108
+ 2. Check `hasLargeImage(item)` - checks root and meta levels
109
+ 3. Default to generic item icon
110
+
111
+ #### Scroll Position Calculation
112
+ ```typescript
113
+ // Before DOM changes
114
+ const initialTop = rect.top - containerRect.top
115
+
116
+ // After DOM changes
117
+ const newTop = newRect.top - containerRect.top
118
+ const diff = newTop - initialTop
119
+ scrollContainer.scrollTop -= diff // Compensate
120
+ ```
121
+
122
+ ### Documentation
123
+
124
+ - Added `V0.1.19_UPDATE_NOTES.md` - Comprehensive update guide for downstream applications
125
+ - Includes migration guide, API changes, testing recommendations
126
+ - Documents breaking changes in auth hook usage
127
+ - Provides code examples for all new features
128
+
129
+ ### Breaking Changes
130
+
131
+ ⚠️ **None** - All changes are backwards compatible
132
+
133
+ **Note**: The `useDsaAuth()` hook was already returning `{ authStatus, getToken, ... }`. If you were incorrectly destructuring as `{ isAuthenticated, token, userInfo }`, you need to update your code. This is a fix, not a breaking change.
134
+
135
+ ## [0.1.18] - 2025-11-10
136
+
137
+ ### Added - Major Performance and Feature Improvements
138
+
139
+ #### SlideViewer: Optimized Annotation Opacity Updates 🔥
140
+ - **Performance**: Eliminated unnecessary re-renders when annotation opacity changes
141
+ - Opacity changes now update existing Paper.js layers directly instead of re-fetching and re-rendering
142
+ - Smooth 60fps slider updates when dragging opacity controls
143
+ - Removed `annotationOpacity` and `annotationOpacities` from main render effect dependencies
144
+ - Separate effect handles opacity updates without triggering full component re-renders
145
+ - **Impact**: Significantly better UX when adjusting annotation visibility
146
+
147
+ #### FolderBrowser: Advanced Item Filtering and Fetching 🔥
148
+ - **Separate fetch from display**: New `fetchItems` prop decouples fetching from rendering
149
+ - `showItems={false}` + `fetchItems={true}` = fetch items without displaying them in tree
150
+ - Useful for getting item counts, filtering, or custom rendering
151
+ - Prevents duplicate API calls when you need item data but not the default UI
152
+
153
+ - **Flexible item filtering**: New `itemFilter` prop with comprehensive filtering support
154
+ - Filter by file extension: `item.name.endsWith('.jpg')`
155
+ - Filter by metadata properties: `item.meta?.type === 'model'`
156
+ - Combine multiple criteria: `hasValidExtension && hasLargeImage`
157
+ - Receives full `Item` object for maximum flexibility
158
+ - ⚠️ Must be wrapped in `useCallback` to prevent infinite loops
159
+
160
+ - **Item counts display**: New `showItemCount` prop shows total item count next to folder names
161
+ - Shows actual count from API: `(123)`
162
+ - Shows `...(75)` indicator for folders with 50+ items
163
+ - Respects pagination - shows total count, not just loaded count
164
+ - Works even when `showItems={false}` if `fetchItems={true}`
165
+
166
+ - **Enhanced callbacks**: New `onItemsFetched` callback receives all fetched items before filtering
167
+ - Useful for custom processing, analytics, or storing metadata
168
+ - Called with `(folderId, items)` before `itemFilter` is applied
169
+ - Allows parent component to react to data fetches independently of display
170
+
171
+ #### Type System Improvements
172
+ - Updated `FolderBrowserProps` type with new props and better documentation
173
+ - Added comprehensive JSDoc examples for `itemFilter` showing all common patterns
174
+ - Updated custom render functions to receive `itemCount?: number` parameter
175
+ - Exported `FolderBrowserItem` type from main index (alias for `Item`)
176
+ - Better TypeScript IntelliSense for all new features
177
+
178
+ ### Changed
179
+ - **FolderBrowser**: Default for `showItems` changed from `true` to `false`
180
+ - More sensible default - most use cases browse folders, not files
181
+ - Explicitly set `showItems={true}` if you want the old behavior
182
+ - Breaking change: If you relied on default `showItems` behavior, you need to explicitly set it
183
+
184
+ ### Technical Details
185
+ - Updated `SlideViewer.tsx` render effect dependencies (lines 1599-1613)
186
+ - Completely rewrote `loadItemsForFolder` with filtering and callback support
187
+ - Added `shouldFetchItems` computed value for cleaner logic
188
+ - Updated `itemPaginationState` to track `totalCount` from API
189
+ - Added comprehensive test suite for all new features:
190
+ - Item filtering by name/extension
191
+ - Item filtering by metadata properties
192
+ - `fetchItems` vs `showItems` behavior
193
+ - Item count display with/without `...` indicator
194
+ - `onItemsFetched` callback timing and parameters
195
+ - All tests passing (tests include new FolderBrowser test suite)
196
+ - No breaking changes to existing code (except `showItems` default)
197
+
198
+ ### Migration Guide
199
+ If you're upgrading from 0.1.17 and using `FolderBrowser`:
200
+
201
+ ```diff
202
+ <FolderBrowser
203
+ apiBaseUrl={apiBaseUrl}
204
+ + showItems={true} // Add this if you want the old behavior
205
+ />
206
+ ```
207
+
208
+ **New filtering patterns:**
209
+
210
+ ```typescript
211
+ // Filter by extension
212
+ const itemFilter = useCallback((item) => {
213
+ return item.name.endsWith('.tif') || item.name.endsWith('.svs');
214
+ }, []);
215
+
216
+ // Filter by metadata
217
+ const itemFilter = useCallback((item) => {
218
+ return item.meta?.type === 'model' && item.largeImage != null;
219
+ }, []);
220
+
221
+ // Fetch items for count, but don't show them
222
+ <FolderBrowser
223
+ fetchItems={true}
224
+ showItems={false}
225
+ showItemCount={true}
226
+ onItemsFetched={(folderId, items) => {
227
+ console.log(`Folder ${folderId} has ${items.length} items`);
228
+ }}
229
+ />
230
+ ```
231
+
8
232
  ## [0.1.17] - 2025-11-07
9
233
 
10
234
  ### Changed - UI Improvements
@@ -1,6 +1,6 @@
1
1
  # bdsa-react-components - CURSOR Integration Guide
2
2
 
3
- **Version:** 0.1.18 | **Generated:** 2025-11-07T17:41:53.997Z
3
+ **Version:** 0.1.19 | **Generated:** 2025-11-10T22:56:32.827Z
4
4
 
5
5
  > This document provides everything Cursor needs to integrate and use the bdsa-react-components library.
6
6
  > Copy this entire document into your project's .cursorrules or docs folder.
@@ -158,6 +158,7 @@ import type {
158
158
  FolderBrowserProps,
159
159
  Collection,
160
160
  Folder,
161
+ Item as FolderBrowserItem,
161
162
  Resource,
162
163
  DsaAuthManagerProps,
163
164
  } from 'bdsa-react-components'
@@ -61,17 +61,51 @@ export interface FolderBrowserProps {
61
61
  parentFolderId?: string;
62
62
  className?: string;
63
63
  /** Custom render for collections */
64
- renderCollection?: (collection: Collection, isExpanded: boolean, onToggle: () => void) => React.ReactNode;
64
+ renderCollection?: (collection: Collection, isExpanded: boolean, onToggle: () => void, itemCount?: number) => React.ReactNode;
65
65
  /** Custom render for folders */
66
- renderFolder?: (folder: Folder, depth: number, isExpanded: boolean, onToggle: () => void) => React.ReactNode;
67
- /** If true, shows items (files) within folders and collections, not just folders. Default: false */
66
+ renderFolder?: (folder: Folder, depth: number, isExpanded: boolean, onToggle: () => void, itemCount?: number) => React.ReactNode;
67
+ /** If true, shows items (files) within folders and collections in the tree view. Default: false */
68
68
  showItems?: boolean;
69
- /** Number of items to load per page when showItems is enabled (default: 50, set to 0 to load all) */
69
+ /** If true, fetches items from folders even if showItems is false. Useful for getting item counts or filtering. Default: value of showItems */
70
+ fetchItems?: boolean;
71
+ /** Number of items to load per page when items are fetched (default: 50, set to 0 to load all) */
70
72
  itemsPerPage?: number;
71
73
  /** Callback when an item is selected (only used when showItems is true) */
72
74
  onItemSelect?: (item: Item) => void;
73
75
  /** Custom render for items */
74
76
  renderItem?: (item: Item, depth: number) => React.ReactNode;
77
+ /**
78
+ * Filter function for items. Called for each item fetched from API.
79
+ * Return true to include the item, false to exclude it.
80
+ * Receives the full Item object, so you can filter by name, extension, metadata, or any other property.
81
+ *
82
+ * ⚠️ IMPORTANT: This function must be stable (wrapped in useCallback) to prevent infinite re-renders.
83
+ *
84
+ * @example
85
+ * // Filter by extension
86
+ * const itemFilter = useCallback((item) => {
87
+ * return item.name.endsWith('.jpg') || item.name.endsWith('.png');
88
+ * }, []);
89
+ *
90
+ * @example
91
+ * // Filter by metadata
92
+ * const itemFilter = useCallback((item) => {
93
+ * return item.meta?.type === 'model' && item.meta?.status === 'published';
94
+ * }, []);
95
+ *
96
+ * @example
97
+ * // Combine name and metadata filters
98
+ * const itemFilter = useCallback((item) => {
99
+ * const hasValidExtension = item.name.endsWith('.tif') || item.name.endsWith('.svs');
100
+ * const hasLargeImage = item.largeImage != null;
101
+ * return hasValidExtension && hasLargeImage;
102
+ * }, []);
103
+ */
104
+ itemFilter?: (item: Item) => boolean;
105
+ /** Callback when items are fetched for a folder. Receives folder/collection ID and all fetched items (before filtering). */
106
+ onItemsFetched?: (folderId: string, items: Item[]) => void;
107
+ /** If true, shows item count next to folder/collection names. Default: false */
108
+ showItemCount?: boolean;
75
109
  /** If true, persists the selected resource to localStorage and restores it on mount. Default: false */
76
110
  persistSelection?: boolean;
77
111
  /** Custom key for localStorage persistence. Default: 'bdsa_folder_browser_selection' */
@@ -1 +1 @@
1
- {"version":3,"file":"FolderBrowser.d.ts","sourceRoot":"","sources":["../../../src/components/FolderBrowser/FolderBrowser.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FolderBrowser.d.ts","sourceRoot":"","sources":["../../../src/components/FolderBrowser/FolderBrowser.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlideViewer.d.ts","sourceRoot":"","sources":["../../../src/components/SlideViewer/SlideViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SlideViewer.d.ts","sourceRoot":"","sources":["../../../src/components/SlideViewer/SlideViewer.tsx"],"names":[],"mappings":"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"}