@reekon-tools/boldr-utils 1.26.1 → 1.27.0

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.
Files changed (80) hide show
  1. package/dist/annotation/canvas/pdfCanvasPages.d.ts +7 -4
  2. package/dist/annotation/canvas/pdfCanvasPages.js +93 -14
  3. package/dist/annotation/canvas/tileCalibration.d.ts +16 -0
  4. package/dist/annotation/canvas/tileCalibration.js +91 -0
  5. package/dist/annotation/canvas/useAnnotationCanvasState.js +7 -67
  6. package/dist/annotation/data/hooks/usePdfCanvasDoc.js +24 -7
  7. package/dist/export/nutrient/instantJsonToPdfCanvas.d.ts +39 -0
  8. package/dist/export/nutrient/instantJsonToPdfCanvas.js +631 -0
  9. package/dist/export/pdf/index.d.ts +1 -1
  10. package/dist/export/pdf/index.js +1 -1
  11. package/dist/export/pdf/marks.js +46 -4
  12. package/dist/export/pdf/renderCanvasToPdf.d.ts +9 -0
  13. package/dist/export/pdf/renderCanvasToPdf.js +21 -5
  14. package/dist/export/pdf/types.d.ts +11 -0
  15. package/dist/exports.d.ts +2 -1
  16. package/dist/exports.js +2 -1
  17. package/dist/server.d.ts +3 -1
  18. package/dist/server.js +3 -1
  19. package/dist/types/pdfCanvas.d.ts +12 -1
  20. package/package.json +1 -1
  21. package/dist/canvas/AnnotationCanvas.d.ts +0 -11
  22. package/dist/canvas/AnnotationCanvas.js +0 -10
  23. package/dist/canvas/AnnotationCanvas.native.d.ts +0 -8
  24. package/dist/canvas/AnnotationCanvas.native.js +0 -6
  25. package/dist/canvas/AnnotationCanvasInner.d.ts +0 -39
  26. package/dist/canvas/AnnotationCanvasInner.js +0 -219
  27. package/dist/canvas/AnnotationCanvasInner.native.d.ts +0 -35
  28. package/dist/canvas/AnnotationCanvasInner.native.js +0 -138
  29. package/dist/canvas/AnnotationCanvasSkia.d.ts +0 -27
  30. package/dist/canvas/AnnotationCanvasSkia.js +0 -20
  31. package/dist/canvas/Tool.d.ts +0 -38
  32. package/dist/canvas/Tool.js +0 -1
  33. package/dist/canvas/elements/BackgroundImageElement.d.ts +0 -9
  34. package/dist/canvas/elements/BackgroundImageElement.js +0 -37
  35. package/dist/canvas/elements/MeasurementStampElement.d.ts +0 -13
  36. package/dist/canvas/elements/MeasurementStampElement.js +0 -30
  37. package/dist/canvas/elements/ShapeElement.d.ts +0 -7
  38. package/dist/canvas/elements/ShapeElement.js +0 -62
  39. package/dist/canvas/elements/StrokeElement.d.ts +0 -7
  40. package/dist/canvas/elements/StrokeElement.js +0 -18
  41. package/dist/canvas/measurementPicker.d.ts +0 -10
  42. package/dist/canvas/measurementPicker.js +0 -1
  43. package/dist/canvas/measurementStampOverlay.d.ts +0 -11
  44. package/dist/canvas/measurementStampOverlay.js +0 -1
  45. package/dist/canvas/pointerAdapter.d.ts +0 -3
  46. package/dist/canvas/pointerAdapter.js +0 -19
  47. package/dist/canvas/stampLayout.d.ts +0 -5
  48. package/dist/canvas/stampLayout.js +0 -14
  49. package/dist/canvas/tools/measurementStampTool.d.ts +0 -9
  50. package/dist/canvas/tools/measurementStampTool.js +0 -37
  51. package/dist/canvas/tools/panTool.d.ts +0 -5
  52. package/dist/canvas/tools/panTool.js +0 -25
  53. package/dist/canvas/tools/penTool.d.ts +0 -13
  54. package/dist/canvas/tools/penTool.js +0 -68
  55. package/dist/canvas/tools/selectTool.d.ts +0 -2
  56. package/dist/canvas/tools/selectTool.js +0 -182
  57. package/dist/canvas/useAnnotationCanvasState.d.ts +0 -54
  58. package/dist/canvas/useAnnotationCanvasState.js +0 -210
  59. package/dist/canvas/viewport.d.ts +0 -16
  60. package/dist/canvas/viewport.js +0 -54
  61. package/dist/data/AnnotationDataContext.d.ts +0 -8
  62. package/dist/data/AnnotationDataContext.js +0 -11
  63. package/dist/data/AnnotationDataProvider.d.ts +0 -65
  64. package/dist/data/AnnotationDataProvider.js +0 -4
  65. package/dist/data/InMemoryAnnotationProvider.d.ts +0 -30
  66. package/dist/data/InMemoryAnnotationProvider.js +0 -197
  67. package/dist/data/canvasPersistence.d.ts +0 -3
  68. package/dist/data/canvasPersistence.js +0 -26
  69. package/dist/data/hooks/useAnnotationCanvasDoc.d.ts +0 -33
  70. package/dist/data/hooks/useAnnotationCanvasDoc.js +0 -314
  71. package/dist/data/hooks/useAnnotationDoc.d.ts +0 -7
  72. package/dist/data/hooks/useAnnotationDoc.js +0 -33
  73. package/dist/data/hooks/useAnnotationList.d.ts +0 -7
  74. package/dist/data/hooks/useAnnotationList.js +0 -26
  75. package/dist/data/hooks/useAnnotationMutations.d.ts +0 -9
  76. package/dist/data/hooks/useAnnotationMutations.js +0 -11
  77. package/dist/hooks/useParseMeasurement.d.ts +0 -4
  78. package/dist/hooks/useParseMeasurement.js +0 -14
  79. package/dist/utils/evaluateFormula.d.ts +0 -20
  80. package/dist/utils/evaluateFormula.js +0 -31
@@ -1,9 +0,0 @@
1
- import type { AnnotationFile, ImageBlob, JobGroupScope, Patch, UploadedImageRef } from '../AnnotationDataProvider.js';
2
- export interface AnnotationMutations {
3
- create(seed: Partial<AnnotationFile>): Promise<string>;
4
- update(fileId: string, patch: Patch<AnnotationFile>): Promise<void>;
5
- remove(fileId: string): Promise<void>;
6
- uploadImage(fileId: string, role: 'background' | 'thumbnail', blob: ImageBlob): Promise<UploadedImageRef>;
7
- deleteImage(fileId: string, storagePath: string): Promise<void>;
8
- }
9
- export declare const useAnnotationMutations: (scope: JobGroupScope) => AnnotationMutations;
@@ -1,11 +0,0 @@
1
- import { useCallback, useMemo } from 'react';
2
- import { useAnnotationData } from '../AnnotationDataContext.js';
3
- export const useAnnotationMutations = (scope) => {
4
- const provider = useAnnotationData();
5
- const create = useCallback((seed) => provider.create(scope, seed), [provider, scope.orgId, scope.projectId, scope.jobId, scope.groupId]);
6
- const update = useCallback((fileId, patch) => provider.update(scope, fileId, patch), [provider, scope.orgId, scope.projectId, scope.jobId, scope.groupId]);
7
- const remove = useCallback((fileId) => provider.delete(scope, fileId), [provider, scope.orgId, scope.projectId, scope.jobId, scope.groupId]);
8
- const uploadImage = useCallback((fileId, role, blob) => provider.uploadImage(scope, fileId, role, blob), [provider, scope.orgId, scope.projectId, scope.jobId, scope.groupId]);
9
- const deleteImage = useCallback((fileId, storagePath) => provider.deleteImage(scope, fileId, storagePath), [provider, scope.orgId, scope.projectId, scope.jobId, scope.groupId]);
10
- return useMemo(() => ({ create, update, remove, uploadImage, deleteImage }), [create, update, remove, uploadImage, deleteImage]);
11
- };
@@ -1,4 +0,0 @@
1
- export declare const useParseMeasurement: () => {
2
- parseMeasurementInput: (input: string, defaultUnit?: string) => number | null;
3
- error: string | null;
4
- };
@@ -1,14 +0,0 @@
1
- import { useState } from 'react';
2
- import { parseMeasurement } from '../utils/parseMeasurement.js';
3
- export const useParseMeasurement = () => {
4
- const [error, setError] = useState(null);
5
- const parseMeasurementInput = (input, defaultUnit = 'mm') => {
6
- setError(null);
7
- const result = parseMeasurement(input, defaultUnit);
8
- if (result === null) {
9
- setError('Invalid measurement. Please provide a valid number and unit.');
10
- }
11
- return result;
12
- };
13
- return { parseMeasurementInput, error };
14
- };
@@ -1,20 +0,0 @@
1
- type MeasurementMap = Map<string, {
2
- id: string;
3
- value: number;
4
- }[]>;
5
- interface FormulaEvaluationOptions {
6
- expression: string;
7
- mappings: Record<string, string>;
8
- group: {
9
- id: string;
10
- columns: Map<string, any>;
11
- };
12
- columns: {
13
- id: string;
14
- type: string;
15
- }[];
16
- measurementMap: MeasurementMap;
17
- defaultUnit?: string;
18
- }
19
- export declare function evaluateFormula({ expression, mappings, group, columns, measurementMap, defaultUnit, }: FormulaEvaluationOptions): number | string;
20
- export {};
@@ -1,31 +0,0 @@
1
- import { create, all } from 'mathjs';
2
- const math = create(all);
3
- export function evaluateFormula({ expression, mappings, group, columns, measurementMap, defaultUnit = 'um', }) {
4
- const scope = {};
5
- for (const [variable, columnId] of Object.entries(mappings)) {
6
- const rawValue = group.columns.get(columnId);
7
- const columnDef = columns.find((c) => c.id === columnId);
8
- if (columnDef?.type === 'Measurement') {
9
- const groupMeasurements = measurementMap.get(group.id) || [];
10
- const measurement = groupMeasurements.find((m) => m.id === rawValue);
11
- if (measurement?.value !== undefined) {
12
- scope[variable] = math.unit(measurement.value, defaultUnit);
13
- continue;
14
- }
15
- }
16
- const parsedValue = typeof rawValue === 'number' ? rawValue : parseFloat(rawValue || '');
17
- scope[variable] = isNaN(parsedValue) ? 0 : parsedValue;
18
- }
19
- try {
20
- const compiled = math.compile(expression);
21
- const result = compiled.evaluate(scope);
22
- if (math.typeOf(result) === 'Unit') {
23
- return result.toNumber(defaultUnit);
24
- }
25
- return result;
26
- }
27
- catch (err) {
28
- console.error(`Formula evaluation failed:`, err);
29
- return 'Error';
30
- }
31
- }