@visns-studio/visns-components 5.15.3 → 5.15.5

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/README.md CHANGED
@@ -9,10 +9,11 @@ A comprehensive React component library used by the VISNS Studio team for CRM an
9
9
 
10
10
  VISNS Components is a React-based UI component library that provides a set of reusable, consistent, and customizable components for building web applications. It includes components for authentication, data grids, forms, navigation, and more, designed to work seamlessly together.
11
11
 
12
- ## Recent Updates (v5.15.3)
12
+ ## Recent Updates (v5.15.4)
13
13
 
14
14
  ### Latest Enhancements
15
15
 
16
+ - **CameraPlacement Module**: New interactive camera placement tool with Verkada database integration, FOV visualization, grid-based camera selection, save/load functionality, and professional export capabilities
16
17
  - **Complete StandardModal Migration**: All components now use StandardModal instead of reactjs-popup for consistent modal behavior across the entire library
17
18
  - **HTML Content Support**: Terms and conditions now properly parse HTML content from TinyMCE editors with clean rendering
18
19
  - **Improved Typography**: Refined font sizing in Terms and Conditions to match page typography hierarchy
@@ -73,6 +74,7 @@ VISNS Components is a React-based UI component library that provides a set of re
73
74
  - **StandardModal** - Reusable modal component with consistent styling
74
75
  - **Call Popup** - Modal dialogs
75
76
  - **QR Code** - QR code generation and printing
77
+ - **CameraPlacement** - Interactive camera placement tool with Verkada database, FOV visualization, and save/load functionality
76
78
 
77
79
  ### Generic Pages
78
80
 
@@ -2450,6 +2452,45 @@ The CustomFetch component includes these features:
2450
2452
  - **CSRF Protection**: Redirects to login page on CSRF token mismatch
2451
2453
  - **Authentication Handling**: Silently handles unauthenticated errors without showing toast notifications
2452
2454
 
2455
+ #### CameraPlacement
2456
+ Interactive camera placement and visualization tool for security system design. Features a comprehensive Verkada camera database, FOV triangle visualization, and project save/load functionality.
2457
+
2458
+ ```jsx
2459
+ import { CameraPlacement } from 'visns-components';
2460
+
2461
+ <CameraPlacement />
2462
+ ```
2463
+
2464
+ **Key Features:**
2465
+ - **Dual Mode Support**: Switch between Mapbox map integration and image-based placement
2466
+ - **Verkada Database**: Complete catalog of Verkada cameras with specifications, FOV, and environmental ratings
2467
+ - **Grid-Based Selection**: Visual camera selection modal with categorized camera cards showing specs and icons
2468
+ - **FOV Visualization**: Intelligent field-of-view triangles with inverse distance scaling for realistic coverage display
2469
+ - **Interactive Placement**: Drag-and-drop camera positioning with rotation handles for directional adjustment
2470
+ - **Save/Load Projects**: Export/import camera placements as JSON files for project continuity
2471
+ - **Export Functionality**: Generate high-quality PNG exports with side-by-side camera reference lists
2472
+ - **SweetAlert Integration**: Professional modal dialogs for confirmations and notifications
2473
+
2474
+ **Camera Database:**
2475
+ - **29+ Camera Models**: Complete Verkada lineup including dome, bullet, PTZ, multisensor, fisheye, mini, and video intercom cameras
2476
+ - **Detailed Specifications**: Resolution, FOV, IR range, sensor size, environment rating, and feature lists
2477
+ - **Smart Categorization**: Organized by camera type with visual icons and environment compatibility
2478
+ - **Advanced Models**: Support for optical zoom, telephoto lenses, 4K resolution, and specialized features
2479
+
2480
+ **Technical Capabilities:**
2481
+ - **Map Integration**: Mapbox GL JS with geocoding search and satellite imagery
2482
+ - **Image Upload**: Support for floor plans and site diagrams with HTML5 file API
2483
+ - **FOV Calculations**: Dynamic triangle sizing based on camera specifications with mathematical precision
2484
+ - **Export Quality**: HTML2Canvas integration for professional-grade layout exports
2485
+ - **State Management**: React hooks-based architecture with real-time updates
2486
+
2487
+ **Use Cases:**
2488
+ - Security system design and planning
2489
+ - Camera coverage analysis and optimization
2490
+ - Client presentations with visual layouts
2491
+ - Installation planning and documentation
2492
+ - Site survey and assessment tools
2493
+
2453
2494
  #### Download
2454
2495
 
2455
2496
  File download utility.
@@ -3660,13 +3701,23 @@ All existing GenericQuote functionality remains unchanged:
3660
3701
 
3661
3702
  Proposal features are **opt-in** and activated only when `proposalConfig.enabled: true` is set.
3662
3703
 
3663
- **Recent Improvements (v5.15.3):**
3704
+ **Recent Improvements (v5.15.3 & 2025 Updates):**
3664
3705
  - **StandardModal Integration**: Replaced reactjs-popup with StandardModal for consistent modal behavior and better maintainability
3665
3706
  - **HTML Content Rendering**: Terms and conditions now support rich HTML content from TinyMCE editors with proper parsing via `html-react-parser`
3666
3707
  - **Typography Optimization**: Refined font sizing (14px desktop, 12px mobile) for better visual hierarchy and page consistency
3667
3708
  - **Enhanced Styling**: Improved CSS for HTML elements including lists, paragraphs, and formatted text in terms sections
3668
3709
  - **Complete Modal Consistency**: All modals throughout the library now use the same StandardModal component
3669
3710
 
3711
+ **Latest 2025 Enhancements:**
3712
+ - **Enhanced Content Editor Modal**: Increased modal dimensions (98% width, 95% height) for better TinyMCE integration
3713
+ - **Streamlined Section Management**: Removed unnecessary section type selector from Edit Proposal Content modal
3714
+ - **Maximized Editor Space**: TinyMCE editor height increased from 400px to 500px with improved container sizing
3715
+ - **Dynamic Template Integration**: Template section titles now properly populate from backend configuration instead of hardcoded values
3716
+ - **Improved Content Flow**: Fixed proposal content insertion ensuring custom content appears correctly in generated PDFs
3717
+ - **Professional PDF Layout**: Enhanced margin handling with 40px/50px margins for all sections (except cover page preservation)
3718
+ - **Branding Color System**: Automatic application of branding profile colors (H1=primary, H2=secondary, H3=accent)
3719
+ - **Robust PDF Generation**: Improved error handling and blank page prevention during proposal PDF creation
3720
+
3670
3721
  **Advanced Usage Example:**
3671
3722
 
3672
3723
  ```jsx
package/package.json CHANGED
@@ -7,6 +7,7 @@
7
7
  "@fontsource/barlow": "^5.2.6",
8
8
  "@inovua/reactdatagrid-community": "^5.10.2",
9
9
  "@inovua/reactdatagrid-enterprise": "^5.10.2",
10
+ "@mapbox/mapbox-gl-geocoder": "^5.1.0",
10
11
  "@nivo/bar": "^0.99.0",
11
12
  "@nivo/core": "^0.99.0",
12
13
  "@nivo/line": "^0.99.0",
@@ -27,9 +28,11 @@
27
28
  "file-saver": "^2.0.5",
28
29
  "framer-motion": "^12.23.12",
29
30
  "html-react-parser": "^5.2.6",
31
+ "html2canvas": "^1.4.1",
30
32
  "lodash": "^4.17.21",
31
33
  "lodash.debounce": "^4.0.8",
32
34
  "lucide-react": "^0.536.0",
35
+ "mapbox-gl": "^3.14.0",
33
36
  "moment": "^2.30.1",
34
37
  "motion": "^12.23.12",
35
38
  "numeral": "^2.0.6",
@@ -90,7 +93,7 @@
90
93
  "react-dom": "^17.0.0 || ^18.0.0"
91
94
  },
92
95
  "name": "@visns-studio/visns-components",
93
- "version": "5.15.3",
96
+ "version": "5.15.5",
94
97
  "description": "Various packages to assist in the development of our Custom Applications.",
95
98
  "main": "src/index.js",
96
99
  "files": [