Rocky_Mountain_Vending/.pnpm-store/v10/files/93/a08c2f01f595bf95e7e75d344e34636c532b209a6863f45e1c8789477fa1ddd5518fbef65f0466c174cb639633bbc8db1d18ed6462b057a0486f5a7338eed7
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

18 lines
No EOL
613 B
Text

import memoize from 'lodash/memoize';
/**
* This is memoized because the viewBox is unlikely to change often
* - but because it is computed from offset, any change to it would re-render all children.
*
* And because we have many readers of the viewBox, and update it only rarely,
* then let's optimize with memoization.
*/
export var calculateViewBox = memoize(function (offset) {
return {
x: offset.left,
y: offset.top,
width: offset.width,
height: offset.height
};
}, function (offset) {
return ['l', offset.left, 't', offset.top, 'w', offset.width, 'h', offset.height].join('');
});