@abidibo/react-cam-roi 0.2.3 → 0.2.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.
Files changed (94) hide show
  1. package/README.md +14 -3
  2. package/dist/index.cjs.css +2 -0
  3. package/dist/index.cjs.css.map +1 -0
  4. package/dist/index.cjs.js +1665 -0
  5. package/dist/index.cjs.js.map +1 -0
  6. package/dist/index.esm.css +2 -0
  7. package/dist/index.esm.css.map +1 -0
  8. package/dist/index.esm.js +1659 -0
  9. package/dist/index.esm.js.map +1 -0
  10. package/dist/{Components → types/Components}/RoiEditor/Canvas.d.ts +2 -0
  11. package/dist/{Components → types/Components}/RoiEditor/Types.d.ts +34 -0
  12. package/dist/{Components → types/Components}/RoiEditor/Utils.d.ts +24 -0
  13. package/dist/{Providers → types/Providers}/EditorProvider.d.ts +2 -1
  14. package/package.json +17 -6
  15. package/dist/Components/BoolField/index.js +0 -13
  16. package/dist/Components/Button/index.js +0 -15
  17. package/dist/Components/EnumField/index.js +0 -16
  18. package/dist/Components/IconButton/index.js +0 -10
  19. package/dist/Components/Loader/index.js +0 -9
  20. package/dist/Components/Modal/index.js +0 -16
  21. package/dist/Components/NumberField/index.js +0 -13
  22. package/dist/Components/RoiEditor/Canvas.js +0 -30
  23. package/dist/Components/RoiEditor/ColorPicker.js +0 -12
  24. package/dist/Components/RoiEditor/Header.js +0 -14
  25. package/dist/Components/RoiEditor/Hooks.js +0 -328
  26. package/dist/Components/RoiEditor/ParameterField.js +0 -27
  27. package/dist/Components/RoiEditor/ParametersModalForm/index.js +0 -42
  28. package/dist/Components/RoiEditor/Polygon.js +0 -77
  29. package/dist/Components/RoiEditor/Polyline.js +0 -75
  30. package/dist/Components/RoiEditor/Rectangle.js +0 -73
  31. package/dist/Components/RoiEditor/RoisInfo.js +0 -43
  32. package/dist/Components/RoiEditor/ShapesList.js +0 -77
  33. package/dist/Components/RoiEditor/Toolbar.js +0 -27
  34. package/dist/Components/RoiEditor/TopBar.js +0 -21
  35. package/dist/Components/RoiEditor/Types.js +0 -23
  36. package/dist/Components/RoiEditor/Utils.js +0 -161
  37. package/dist/Components/RoiEditor/index.js +0 -99
  38. package/dist/Components/RoleField.js +0 -49
  39. package/dist/Components/TextField/index.js +0 -13
  40. package/dist/Components/Typography/index.js +0 -6
  41. package/dist/Icons/AnnotateIcon.js +0 -5
  42. package/dist/Icons/CloseIcon.js +0 -5
  43. package/dist/Icons/CopyIcon.js +0 -5
  44. package/dist/Icons/DeleteIcon.js +0 -5
  45. package/dist/Icons/EditIcon.js +0 -5
  46. package/dist/Icons/PointerIcon.js +0 -5
  47. package/dist/Icons/PolygonIcon.js +0 -5
  48. package/dist/Icons/PolylineIcon.js +0 -5
  49. package/dist/Icons/RectangleIcon.js +0 -5
  50. package/dist/Icons/SaveIcon.js +0 -5
  51. package/dist/Providers/EditorProvider.js +0 -29
  52. package/dist/Providers/UiProvider.js +0 -104
  53. package/dist/Types.js +0 -1
  54. package/dist/Utils/Dispatcher.js +0 -65
  55. package/dist/Utils/index.js +0 -16
  56. package/dist/index.js +0 -4
  57. /package/dist/{Components → types/Components}/BoolField/index.d.ts +0 -0
  58. /package/dist/{Components → types/Components}/Button/index.d.ts +0 -0
  59. /package/dist/{Components → types/Components}/EnumField/index.d.ts +0 -0
  60. /package/dist/{Components → types/Components}/IconButton/index.d.ts +0 -0
  61. /package/dist/{Components → types/Components}/Loader/index.d.ts +0 -0
  62. /package/dist/{Components → types/Components}/Modal/index.d.ts +0 -0
  63. /package/dist/{Components → types/Components}/NumberField/index.d.ts +0 -0
  64. /package/dist/{Components → types/Components}/RoiEditor/ColorPicker.d.ts +0 -0
  65. /package/dist/{Components → types/Components}/RoiEditor/Header.d.ts +0 -0
  66. /package/dist/{Components → types/Components}/RoiEditor/Hooks.d.ts +0 -0
  67. /package/dist/{Components → types/Components}/RoiEditor/ParameterField.d.ts +0 -0
  68. /package/dist/{Components → types/Components}/RoiEditor/ParametersModalForm/index.d.ts +0 -0
  69. /package/dist/{Components → types/Components}/RoiEditor/Polygon.d.ts +0 -0
  70. /package/dist/{Components → types/Components}/RoiEditor/Polyline.d.ts +0 -0
  71. /package/dist/{Components → types/Components}/RoiEditor/Rectangle.d.ts +0 -0
  72. /package/dist/{Components → types/Components}/RoiEditor/RoisInfo.d.ts +0 -0
  73. /package/dist/{Components → types/Components}/RoiEditor/ShapesList.d.ts +0 -0
  74. /package/dist/{Components → types/Components}/RoiEditor/Toolbar.d.ts +0 -0
  75. /package/dist/{Components → types/Components}/RoiEditor/TopBar.d.ts +0 -0
  76. /package/dist/{Components → types/Components}/RoiEditor/index.d.ts +0 -0
  77. /package/dist/{Components → types/Components}/RoleField.d.ts +0 -0
  78. /package/dist/{Components → types/Components}/TextField/index.d.ts +0 -0
  79. /package/dist/{Components → types/Components}/Typography/index.d.ts +0 -0
  80. /package/dist/{Icons → types/Icons}/AnnotateIcon.d.ts +0 -0
  81. /package/dist/{Icons → types/Icons}/CloseIcon.d.ts +0 -0
  82. /package/dist/{Icons → types/Icons}/CopyIcon.d.ts +0 -0
  83. /package/dist/{Icons → types/Icons}/DeleteIcon.d.ts +0 -0
  84. /package/dist/{Icons → types/Icons}/EditIcon.d.ts +0 -0
  85. /package/dist/{Icons → types/Icons}/PointerIcon.d.ts +0 -0
  86. /package/dist/{Icons → types/Icons}/PolygonIcon.d.ts +0 -0
  87. /package/dist/{Icons → types/Icons}/PolylineIcon.d.ts +0 -0
  88. /package/dist/{Icons → types/Icons}/RectangleIcon.d.ts +0 -0
  89. /package/dist/{Icons → types/Icons}/SaveIcon.d.ts +0 -0
  90. /package/dist/{Providers → types/Providers}/UiProvider.d.ts +0 -0
  91. /package/dist/{Types.d.ts → types/Types.d.ts} +0 -0
  92. /package/dist/{Utils → types/Utils}/Dispatcher.d.ts +0 -0
  93. /package/dist/{Utils → types/Utils}/index.d.ts +0 -0
  94. /package/dist/{index.d.ts → types/index.d.ts} +0 -0
@@ -1,104 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext } from 'react';
3
- import Typography from '../Components/Typography';
4
- import IconButton from '../Components/IconButton';
5
- import DeleteIcon from '../Icons/DeleteIcon';
6
- import EditIcon from '../Icons/EditIcon';
7
- import { notify } from '../Components/RoiEditor/Utils';
8
- import CopyIcon from '../Icons/CopyIcon';
9
- import AnnotateIcon from '../Icons/AnnotateIcon';
10
- import Modal from '../Components/Modal';
11
- import CloseIcon from '../Icons/CloseIcon';
12
- import TextField from '../Components/TextField';
13
- import NumberField from '../Components/NumberField';
14
- import BoolField from '../Components/BoolField';
15
- import EnumField from '../Components/EnumField';
16
- import Button from '../Components/Button';
17
- import SaveIcon from '../Icons/SaveIcon';
18
- export const DefaultUiContext = {
19
- enableLogs: true,
20
- themeMode: 'light',
21
- primaryColor: '#1976d2',
22
- primaryFgColor: '#fff',
23
- Typography,
24
- IconButton,
25
- Modal,
26
- DeleteIcon,
27
- EditIcon,
28
- CopyIcon,
29
- AnnotateIcon,
30
- SaveIcon,
31
- CloseIcon,
32
- TextField,
33
- NumberField,
34
- BoolField,
35
- EnumField,
36
- Button,
37
- pickerColors: ['#ffffff', '#000000', '#ff9900', '#0099ff'],
38
- notify,
39
- strings: {
40
- cancel: 'Cancel',
41
- cannotDrawMorePolygons: 'You cannot draw more polygons',
42
- cannotDrawMorePolylines: 'You cannot draw more polylines',
43
- cannotDrawMoreRectangles: 'You cannot draw more rectangles',
44
- id: 'ID',
45
- invalidSubmission: 'Invalid submission',
46
- mainParametersMetadata: 'Main parameters',
47
- missingRequiredValuesInMainParameters: 'Missing required values in main parameters',
48
- missingRequiredValuesInShapeParameters: 'Missing required values in shape {id} parameters',
49
- name: 'Name',
50
- polygon: 'Polygon',
51
- polygonHelpText: 'click to draw all the polygon points, double click on the last point to close the polygon',
52
- polyline: 'Polyline',
53
- polylineHelpText: 'click to draw all the polyline points, double click on the last point to stop drawing',
54
- rect: 'Rectangle',
55
- rectHelpText: 'click and drag to draw the rectangle',
56
- pointer: 'Selection',
57
- pointerHelpText: 'click a shape to select it',
58
- requiredField: 'This field is required',
59
- roiMultiplicityEqRule: 'a number of {role} ({type}) equal to {threshold}',
60
- roiMultiplicityGtRule: 'a number of {role} ({type}) greater than {threshold}',
61
- roiMultiplicityGteRule: 'a number of {role} ({type}) greater than or equal to {threshold}',
62
- roiMultiplicityLtRule: 'a number of {role} ({type}) less than {threshold}',
63
- roiMultiplicityLteRule: 'a number of {role} ({type}) less than or equal to {threshold}',
64
- roiMultiplicityNoRule: 'a number of {role} ({type})',
65
- roisToBeDrawn: 'ROIs to be drawn',
66
- role: 'Role',
67
- save: 'Save',
68
- shapeParametersMetadata: 'Shape parameters',
69
- shapesOfRoleShouldBeEqualToThreshold: 'Shapes of role {role} should be equal to {threshold}',
70
- shapesOfRoleShouldBeGreaterThanThreshold: 'Shapes of role {role} should be greater than {threshold}',
71
- shapesOfRoleShouldBeGreaterThanOrEqualToThreshold: 'Shapes of role {role} should be greater than or equal to {threshold}',
72
- shapesOfRoleShouldBeLessThanThreshold: 'Shapes of role {role} should be less than {threshold}',
73
- shapesOfRoleShouldBeLessThanOrEqualToThreshold: 'Shapes of role {role} should be less than or equal to {threshold}',
74
- type: 'Type',
75
- },
76
- };
77
- export const UiContext = createContext(DefaultUiContext);
78
- const UiProvider = ({ children, enableLogs, themeMode, primaryColor, primaryFgColor, Typography, Modal, IconButton, DeleteIcon, EditIcon, CopyIcon, AnnotateIcon, SaveIcon, CloseIcon, TextField, NumberField, BoolField, EnumField, Button, pickerColors, notify, strings, }) => {
79
- const ctx = {
80
- enableLogs: enableLogs !== null && enableLogs !== void 0 ? enableLogs : DefaultUiContext.enableLogs,
81
- Typography: Typography !== null && Typography !== void 0 ? Typography : DefaultUiContext.Typography,
82
- Modal: Modal !== null && Modal !== void 0 ? Modal : DefaultUiContext.Modal,
83
- IconButton: IconButton !== null && IconButton !== void 0 ? IconButton : DefaultUiContext.IconButton,
84
- DeleteIcon: DeleteIcon !== null && DeleteIcon !== void 0 ? DeleteIcon : DefaultUiContext.DeleteIcon,
85
- EditIcon: EditIcon !== null && EditIcon !== void 0 ? EditIcon : DefaultUiContext.EditIcon,
86
- CopyIcon: CopyIcon !== null && CopyIcon !== void 0 ? CopyIcon : DefaultUiContext.CopyIcon,
87
- AnnotateIcon: AnnotateIcon !== null && AnnotateIcon !== void 0 ? AnnotateIcon : DefaultUiContext.AnnotateIcon,
88
- SaveIcon: SaveIcon !== null && SaveIcon !== void 0 ? SaveIcon : DefaultUiContext.SaveIcon,
89
- CloseIcon: CloseIcon !== null && CloseIcon !== void 0 ? CloseIcon : DefaultUiContext.CloseIcon,
90
- TextField: TextField !== null && TextField !== void 0 ? TextField : DefaultUiContext.TextField,
91
- NumberField: NumberField !== null && NumberField !== void 0 ? NumberField : DefaultUiContext.NumberField,
92
- BoolField: BoolField !== null && BoolField !== void 0 ? BoolField : DefaultUiContext.BoolField,
93
- EnumField: EnumField !== null && EnumField !== void 0 ? EnumField : DefaultUiContext.EnumField,
94
- Button: Button !== null && Button !== void 0 ? Button : DefaultUiContext.Button,
95
- themeMode: themeMode !== null && themeMode !== void 0 ? themeMode : DefaultUiContext.themeMode,
96
- primaryColor: primaryColor !== null && primaryColor !== void 0 ? primaryColor : DefaultUiContext.primaryColor,
97
- primaryFgColor: primaryFgColor !== null && primaryFgColor !== void 0 ? primaryFgColor : DefaultUiContext.primaryFgColor,
98
- pickerColors: pickerColors !== null && pickerColors !== void 0 ? pickerColors : DefaultUiContext.pickerColors,
99
- notify: notify !== null && notify !== void 0 ? notify : DefaultUiContext.notify,
100
- strings: strings ? Object.assign(Object.assign({}, DefaultUiContext.strings), strings) : DefaultUiContext.strings,
101
- };
102
- return _jsx(UiContext.Provider, { value: ctx, children: children });
103
- };
104
- export default UiProvider;
package/dist/Types.js DELETED
@@ -1 +0,0 @@
1
- export {};
@@ -1,65 +0,0 @@
1
- /**
2
- * Event Dispatcher
3
- *
4
- * Implementation of an event dispatcher following the Mediator pattern
5
- * @namespace
6
- */
7
- const Dispatcher = {
8
- _prefix: 'on_',
9
- _listeners: {},
10
- /**
11
- * Adds a prefix to the event name
12
- *
13
- * Assures that event name doesn't match a standard Object property name
14
- */
15
- evtName: function (evtName) {
16
- return this._prefix + evtName;
17
- },
18
- /**
19
- * Registers a callback to an event
20
- */
21
- register: function (evtName, callback, bind) {
22
- const _evtName = this.evtName(evtName);
23
- if (typeof this._listeners[_evtName] === 'undefined') {
24
- this._listeners[_evtName] = [];
25
- }
26
- this._listeners[_evtName].push([!bind ? this : bind, callback]);
27
- },
28
- /**
29
- * Unregisters one or all callbacks binded to the given event
30
- *
31
- * @param {String} evtName name of the event
32
- * @param {Function} callback function to unregister. All callbacks if empty
33
- * @return void
34
- */
35
- unregister: function (evtName, callback) {
36
- const _evtName = this.evtName(evtName);
37
- if (typeof callback === 'undefined') {
38
- delete this._listeners[_evtName];
39
- }
40
- else {
41
- // splice re-indexes the array, so I'm not declaring `var len`
42
- // but array length is re-computed at every loop cycle
43
- for (let i = 0; i < this._listeners[_evtName].length; i++) {
44
- const listener = this._listeners[_evtName][i];
45
- if (listener[1] === callback) {
46
- this._listeners[_evtName].splice(i, 1);
47
- }
48
- }
49
- }
50
- },
51
- /**
52
- * Emits an event, all registered callbacks are called
53
- */
54
- emit: function (evtName, ...params) {
55
- const _evtName = this.evtName(evtName);
56
- if (typeof this._listeners[_evtName] !== 'undefined') {
57
- for (let i = 0, l = this._listeners[_evtName].length; i < l; i++) {
58
- const l = this._listeners[_evtName][i];
59
- // @ts-expect-error but it works
60
- l[1].call(this._listeners[_evtName][i][0], evtName, ...params);
61
- }
62
- }
63
- }
64
- };
65
- export default Dispatcher;
@@ -1,16 +0,0 @@
1
- export const log = (level, enable, ...args) => enable && console[level](...args);
2
- export const css = (name, styles, themeMode) => `${styles[name]} ${styles[`${name}-${themeMode}`]} react-cam-roi-${name}${themeMode ? `react-cam-roi-${name}-${themeMode}` : ''}`;
3
- export const humanize = (str) => {
4
- return str
5
- .replace(/([A-Z])/g, ' $1')
6
- .replace('_', ' ')
7
- .replace(/^./, (str) => str.toUpperCase());
8
- };
9
- export const formatString = (str, placeholders) => {
10
- Object.keys(placeholders).forEach((key) => {
11
- str = str.replace(`{${key}}`, placeholders[key].toString());
12
- });
13
- return str;
14
- };
15
- export const abs2Perc = (value, ref) => Math.round((value / ref) * 100 * 100) / 100;
16
- export const perc2Abs = (value, ref) => Math.round(ref * value * 100 / 100) / 100;
package/dist/index.js DELETED
@@ -1,4 +0,0 @@
1
- import RoiEditor from "./Components/RoiEditor";
2
- import UiProvider, { UiContext, DefaultUiContext } from "./Providers/UiProvider";
3
- import * as Types from "./Components/RoiEditor/Types";
4
- export { RoiEditor, UiProvider, UiContext, DefaultUiContext, Types };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes