bdsa-react-components 0.1.14 → 0.1.16
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 +110 -0
- package/CURSOR_INTEGRATION.md +1 -1
- package/dist/components/FolderBrowser/FolderBrowser.d.ts +8 -0
- package/dist/components/FolderBrowser/FolderBrowser.d.ts.map +1 -1
- package/dist/components/SlideViewer/SlideViewer.d.ts +6 -0
- package/dist/components/SlideViewer/SlideViewer.d.ts.map +1 -1
- package/dist/index.cjs +30 -30
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15725 -15484
- package/dist/index.js.map +1 -1
- package/dist/utils/annotationFormats.d.ts +75 -0
- package/dist/utils/annotationFormats.d.ts.map +1 -0
- package/dist/utils/itemUtils.d.ts +75 -0
- package/dist/utils/itemUtils.d.ts.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,116 @@ 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.16] - 2025-11-06
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **GeoJSON Format Auto-Detection in SlideViewer**: Seamless support for multiple annotation formats
|
|
12
|
+
- Automatic detection of GeoJSON FeatureCollection format
|
|
13
|
+
- Automatic detection of DSA format (elements array)
|
|
14
|
+
- Transparent transformation from GeoJSON to DSA format
|
|
15
|
+
- Support for Polygon, LineString, and Point geometries
|
|
16
|
+
- Property mapping for lineColor/stroke, fillColor/fill, lineWidth/stroke-width
|
|
17
|
+
- Backward compatible - existing DSA format still works
|
|
18
|
+
- New utility functions: `extractAnnotationElements()`, `detectAnnotationFormat()`
|
|
19
|
+
- Exported `DSAElement` type for TypeScript users
|
|
20
|
+
- Comprehensive test coverage (24 tests covering all formats and edge cases)
|
|
21
|
+
- **Expansion State Persistence for FolderBrowser**: Remember which folders are expanded
|
|
22
|
+
- Added `persistExpansion` prop to enable automatic expansion state persistence
|
|
23
|
+
- Added `persistExpansionKey` prop for custom localStorage keys (default: 'bdsa_folder_browser_expansion')
|
|
24
|
+
- Saves both expanded collections and folders separately
|
|
25
|
+
- Restores expansion state on component mount
|
|
26
|
+
- Works seamlessly with existing `persistSelection` feature
|
|
27
|
+
- **Auto-Scroll to Selected Resource**: Enhanced navigation UX
|
|
28
|
+
- Automatically scrolls to selected folder/collection/item
|
|
29
|
+
- Smooth scroll animation with `scrollIntoView`
|
|
30
|
+
- Centers selected item in viewport
|
|
31
|
+
- Added `data-resource-id` attributes for reliable element selection
|
|
32
|
+
- Works with both new selections and restored selections
|
|
33
|
+
- **Annotation Format Utilities**: New utility module for format handling
|
|
34
|
+
- `isGeoJSONFeatureCollection()` - Type guard for GeoJSON
|
|
35
|
+
- `isDSAAnnotation()` - Type guard for DSA format
|
|
36
|
+
- `geoJSONFeatureToDSAElement()` - Convert single GeoJSON feature
|
|
37
|
+
- `geoJSONToDSAElements()` - Convert entire FeatureCollection
|
|
38
|
+
- `extractAnnotationElements()` - Auto-detect and extract elements
|
|
39
|
+
- `detectAnnotationFormat()` - Identify format ('geojson', 'dsa', or 'unknown')
|
|
40
|
+
- All utilities properly handle edge cases and invalid input
|
|
41
|
+
- Console logging for debugging format detection
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
- SlideViewer now uses annotation format auto-detection instead of manual parsing
|
|
45
|
+
- FolderBrowser expansion logic now persists independently of selection
|
|
46
|
+
- Updated exports in `src/index.ts` to include new annotation format utilities
|
|
47
|
+
- Improved error messages when annotation format is unexpected
|
|
48
|
+
|
|
49
|
+
### Technical Details
|
|
50
|
+
- **Format Detection**: Uses type checking and property inspection to identify format
|
|
51
|
+
- **GeoJSON Support**: Handles standard GeoJSON FeatureCollection with Feature array
|
|
52
|
+
- **Coordinate Mapping**: Polygon exterior rings become closed polylines, LineStrings become open polylines
|
|
53
|
+
- **Point Rendering**: Points converted to 8-point circle approximations
|
|
54
|
+
- **Property Fallbacks**: Supports both DSA-style (lineColor) and GeoJSON-style (stroke) property names
|
|
55
|
+
- **LocalStorage Keys**: Expansion state uses `{key}_collections` and `{key}_folders` suffixes
|
|
56
|
+
- **Auto-Scroll**: 100ms delay ensures DOM updates complete before scrolling
|
|
57
|
+
|
|
58
|
+
### Migration Guide
|
|
59
|
+
|
|
60
|
+
#### For GeoJSON Support:
|
|
61
|
+
Your backend can now return GeoJSON directly:
|
|
62
|
+
```typescript
|
|
63
|
+
// No changes needed in your frontend code!
|
|
64
|
+
// SlideViewer automatically detects and transforms GeoJSON
|
|
65
|
+
<SlideViewer
|
|
66
|
+
imageInfo={{ annotationId: '123' }}
|
|
67
|
+
apiBaseUrl="..."
|
|
68
|
+
/>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### For Expansion Persistence:
|
|
72
|
+
```typescript
|
|
73
|
+
// Add two props to enable:
|
|
74
|
+
<FolderBrowser
|
|
75
|
+
persistExpansion={true} // Enable expansion persistence
|
|
76
|
+
persistExpansion Key="my_app_folders" // Optional: custom key
|
|
77
|
+
// ... other props
|
|
78
|
+
/>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Breaking Changes
|
|
82
|
+
None - all changes are backward compatible.
|
|
83
|
+
|
|
84
|
+
## [0.1.14] - 2025-11-05
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
- **Token Query String Support for SlideViewer**: Critical integration improvement
|
|
88
|
+
- Added `authToken` prop to SlideViewer for explicit token passing
|
|
89
|
+
- Added `tokenQueryParam` prop to enable token appending to all requests (DZI, tiles, annotations)
|
|
90
|
+
- Automatic token extraction from `apiHeaders` (Authorization or Girder-Token)
|
|
91
|
+
- Token automatically appended to DZI URLs, tile URLs, and annotation API calls
|
|
92
|
+
- Enables authentication for DSA servers that require `?token=...` query parameters
|
|
93
|
+
- **Large Image Detection Utility**: Simplifies DSA item filtering
|
|
94
|
+
- Added `hasLargeImage(item)` function to check for largeImage flag
|
|
95
|
+
- Checks both root level (`item.largeImage`) and metadata level (`item.meta.largeImage`)
|
|
96
|
+
- Handles boolean, string, and object flag types
|
|
97
|
+
- Added `filterLargeImages(items)` for easy array filtering
|
|
98
|
+
- Exported `Item` type for TypeScript users
|
|
99
|
+
- **Selection Persistence for FolderBrowser**: Improves development UX
|
|
100
|
+
- Added `persistSelection` prop to enable automatic selection persistence
|
|
101
|
+
- Added `persistSelectionKey` prop for custom localStorage keys
|
|
102
|
+
- Saves selected resource to localStorage with timestamp
|
|
103
|
+
- Restores selection on component mount
|
|
104
|
+
- Auto-expands selected collection/folder for visibility
|
|
105
|
+
- **Comprehensive Documentation**: CRITICAL_FEATURES.md with detailed usage examples
|
|
106
|
+
- Complete API documentation for all three features
|
|
107
|
+
- Migration guides from manual implementations
|
|
108
|
+
- Troubleshooting section
|
|
109
|
+
- Integration examples combining all features
|
|
110
|
+
- **Unit Tests**: Full test coverage for new utilities
|
|
111
|
+
- 16 tests for `hasLargeImage` and `filterLargeImages`
|
|
112
|
+
- Tests for all edge cases and data structure variations
|
|
113
|
+
|
|
114
|
+
### Changed
|
|
115
|
+
- Updated BACKPORT_IMPROVEMENTS.md to mark critical items as completed
|
|
116
|
+
- Bumped version to 0.1.14
|
|
117
|
+
|
|
8
118
|
## [0.1.13] - 2025-11-05
|
|
9
119
|
|
|
10
120
|
### Added
|
package/CURSOR_INTEGRATION.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# bdsa-react-components - CURSOR Integration Guide
|
|
2
2
|
|
|
3
|
-
**Version:** 0.1.
|
|
3
|
+
**Version:** 0.1.16 | **Generated:** 2025-11-06T19:16:38.271Z
|
|
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.
|
|
@@ -72,6 +72,14 @@ export interface FolderBrowserProps {
|
|
|
72
72
|
onItemSelect?: (item: Item) => void;
|
|
73
73
|
/** Custom render for items */
|
|
74
74
|
renderItem?: (item: Item, depth: number) => React.ReactNode;
|
|
75
|
+
/** If true, persists the selected resource to localStorage and restores it on mount. Default: false */
|
|
76
|
+
persistSelection?: boolean;
|
|
77
|
+
/** Custom key for localStorage persistence. Default: 'bdsa_folder_browser_selection' */
|
|
78
|
+
persistSelectionKey?: string;
|
|
79
|
+
/** If true, persists the expansion state (which folders/collections are expanded) to localStorage and restores it on mount. Default: false */
|
|
80
|
+
persistExpansion?: boolean;
|
|
81
|
+
/** Custom key for localStorage expansion state persistence. Default: 'bdsa_folder_browser_expansion' */
|
|
82
|
+
persistExpansionKey?: string;
|
|
75
83
|
}
|
|
76
84
|
/**
|
|
77
85
|
* FolderBrowser component for browsing DSA collections and folders.
|
|
@@ -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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"}
|
|
@@ -119,6 +119,12 @@ export interface SlideViewerProps {
|
|
|
119
119
|
fetchFn?: (url: string, options?: RequestInit) => Promise<Response>;
|
|
120
120
|
/** Custom headers to add to all API requests. Merged with fetchFn headers if both are provided. */
|
|
121
121
|
apiHeaders?: HeadersInit;
|
|
122
|
+
/** Authentication token to use for requests. Can be extracted from apiHeaders automatically if not provided. */
|
|
123
|
+
authToken?: string;
|
|
124
|
+
/** If true, appends the authentication token as a query parameter (?token=...) to all requests (DZI, tiles, annotations).
|
|
125
|
+
* This is required for some DSA servers that validate tokens via query parameters instead of (or in addition to) headers.
|
|
126
|
+
* Default: false */
|
|
127
|
+
tokenQueryParam?: boolean;
|
|
122
128
|
/** Show annotation controls panel in the sidebar (default: false) */
|
|
123
129
|
showAnnotationControls?: boolean;
|
|
124
130
|
/** Default opacity for all annotations (0-1, default: 1) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideViewer.d.ts","sourceRoot":"","sources":["../../../src/components/SlideViewer/SlideViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAGhF,OAAO,KAAK,EAAE,iBAAiB,EAAW,MAAM,SAAS,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,IAAI,mBAAmB,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"SlideViewer.d.ts","sourceRoot":"","sources":["../../../src/components/SlideViewer/SlideViewer.tsx"],"names":[],"mappings":"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"}
|