@abidibo/react-cam-roi 0.5.0 → 0.7.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.
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # React Cam ROI
2
2
 
3
- This is a react component which lets you draw regions of interest (ROI) over images, manage metadata and import/export everything.
3
+ This is a react component which lets you draw regions of interest (ROI) over images, manage metadata and import/export everything.
4
4
  Metadata are dynamic information that can be attached to the whole image and/or to each ROI. The number of drawable ROIs can also be configured.
5
5
 
6
6
  ![Screenshot](./react-cam-roi-s.png)
7
7
 
8
- It provides one component: `RoiEditor` and one provider: `UiProvider`. The editor lets you draw regions of interest over a given image (url). Each ROI can have dynamic metadata attached.
8
+ It provides one component: `RoiEditor` and one provider: `UiProvider`. The editor lets you draw regions of interest over a given image (url). Each ROI can have dynamic metadata attached.
9
9
 
10
10
  Export and import functionality is also provided.
11
11
 
@@ -21,7 +21,7 @@ Features:
21
21
 
22
22
  ## Installation
23
23
 
24
- ``` bash
24
+ ```bash
25
25
  npm install @abidibo/react-cam-roi
26
26
  ```
27
27
 
@@ -49,7 +49,7 @@ const MyComponent: React.FC = () => {
49
49
 
50
50
  The `RoiEditor` props and the `Output` interface used both in import and export:
51
51
 
52
- ``` ts
52
+ ```ts
53
53
  export type RoiEditorProps = {
54
54
  // id of this editor instance, should be unique
55
55
  editorId: string
@@ -61,6 +61,7 @@ export type RoiEditorProps = {
61
61
  onSubmit: (data: Output) => void
62
62
  // initial imported data
63
63
  initialData?: Output
64
+ // default preset name
64
65
  }
65
66
 
66
67
  export const enum ToolEnum {
@@ -153,6 +154,8 @@ export interface OutputRoi {
153
154
  }
154
155
  export interface Output {
155
156
  parameters: OutputParameter[]
157
+ presetName: string
158
+ presetDescription: string
156
159
  rois: OutputRoi[]
157
160
  }
158
161
  ```
@@ -297,7 +300,7 @@ You can customize many aspects of this library by using the `UiProvider`.
297
300
  - You can define custom strings used here and there (some strings require one or more placeholders).
298
301
  - You can enable logs in the console by setting the `enableLogs` option to `true`.
299
302
 
300
- ``` tsx
303
+ ```tsx
301
304
  import IconButton from '@mui/material/IconButton'
302
305
  import { UiProvider, RoiEditor } from 'react-cam-roi'
303
306
 
@@ -335,7 +338,8 @@ type UiContextType = {
335
338
  EnumField: typeof EnumField // field used for enum input (options filled in parameter definition)
336
339
  Button: typeof Button // button
337
340
  notify: INotify // function used to display notifications
338
- strings: { // strings used here and there
341
+ strings: {
342
+ // strings used here and there
339
343
  cancel: string
340
344
  cannotDrawMorePoints: string
341
345
  cannotDrawMorePolygons: string
@@ -344,15 +348,10 @@ type UiContextType = {
344
348
  id: string
345
349
  invalidSubmission: string
346
350
  mainParametersMetadata: string
351
+ missingPresetName: string
347
352
  missingRequiredValuesInMainParameters: string
348
353
  missingRequiredValuesInShapeParameters: string // with {id} placeholder
349
354
  mainParametersMetadata: strings
350
- roiMultiplicityEqRule: string // with {role}, {type} and {threshold} placeholder
351
- roiMultiplicityGtRule: string // with {role}, {type} and {threshold} placeholder
352
- roiMultiplicityGteRule: string // with {role}, {type} and {threshold} placeholder
353
- roiMultiplicityLtRule: string // with {role}, {type} and {threshold} placeholder
354
- roiMultiplicityLteRule: string // with {role}, {type} and {threshold} placeholder
355
- roiMultiplicityNoRule: string // with {role}, {type}
356
355
  name: string
357
356
  point: string
358
357
  pointHelpText: string
@@ -362,9 +361,17 @@ type UiContextType = {
362
361
  polylineHelpText: string
363
362
  pointer: string
364
363
  pointerHelpText: string
364
+ presetDescription: string
365
+ presetName: string
365
366
  rect: string
366
367
  rectHelpText: string
367
368
  requiredField: string
369
+ roiMultiplicityEqRule: string // with {role}, {type} and {threshold} placeholder
370
+ roiMultiplicityGtRule: string // with {role}, {type} and {threshold} placeholder
371
+ roiMultiplicityGteRule: string // with {role}, {type} and {threshold} placeholder
372
+ roiMultiplicityLtRule: string // with {role}, {type} and {threshold} placeholder
373
+ roiMultiplicityLteRule: string // with {role}, {type} and {threshold} placeholder
374
+ roiMultiplicityNoRule: string // with {role}, {type}
368
375
  roisToBeDrawn: string
369
376
  role: string
370
377
  save: string
@@ -505,6 +512,7 @@ type AnnotateIconProps = {
505
512
  style?: React.CSSProperties
506
513
  }
507
514
  ```
515
+
508
516
  #### SaveIcon
509
517
 
510
518
  ##### Interface
@@ -531,12 +539,12 @@ type TextFieldProps = {
531
539
  required?: boolean
532
540
  readOnly?: boolean
533
541
  disabled?: boolean
542
+ fullWidth?: boolean
534
543
  }
535
544
  ```
536
545
 
537
546
  ##### Classes
538
547
 
539
-
540
548
  - `react-cam-roi-text-field-wrapper`
541
549
  - `react-cam-roi-text-field-wrapper-light`
542
550
  - `react-cam-roi-text-field-wrapper-dark`
@@ -658,7 +666,6 @@ type EnumFieldProps = {
658
666
  - `react-cam-roi-enum-field-helper-text-dark`
659
667
  - `react-cam-roi-enum-field-helper-text-error`
660
668
 
661
-
662
669
  #### Button
663
670
 
664
671
  ##### Interface
@@ -682,8 +689,9 @@ type ButtonProps = {
682
689
 
683
690
  ### Functions
684
691
 
685
- ``` ts
686
- type INotify = { // compatible with toast (react-toastify)
692
+ ```ts
693
+ type INotify = {
694
+ // compatible with toast (react-toastify)
687
695
  info: (message: string) => void
688
696
  warn: (message: string) => void
689
697
  error: (message: string) => void
@@ -710,6 +718,12 @@ There are components that cannot be overridden. But still you can use classes to
710
718
  - `react-cam-roi-main-parameters-button-light`
711
719
  - `react-cam-roi-main-parameters-button-dark`
712
720
 
721
+ #### ROIs editor wrapper
722
+
723
+ - `react-cam-roi-rois-wrapper`
724
+ - `react-cam-roi-rois-wrapper-light`
725
+ - `react-cam-roi-rois-wrapper-dark`
726
+
713
727
  #### Canvas wrapper
714
728
 
715
729
  - `react-cam-roi-canvas-wrapper`
@@ -783,16 +797,16 @@ In order to start developing just run the storybook, then make changes to code a
783
797
  In order to test the library in onother local react project you can:
784
798
 
785
799
  ```bash
786
- $ cd react-cam-roi
787
- $ yarn link
788
- $ cd ../my-project
789
- $ yarn link @abidibo/react-cam-roi
800
+ cd react-cam-roi
801
+ yarn link
802
+ cd ../my-project
803
+ yarn link @abidibo/react-cam-roi
790
804
  ```
791
805
 
792
806
  Then rebuild this library to see your changes in the project.
793
807
 
794
808
  ## CI
795
809
 
796
- A github action pipeline is provided, which is triggered by every push to the main branch.
797
- The pipeline will publish the package to npm and update the CHANGELOG following the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/).
810
+ A github action pipeline is provided, which is triggered by every push to the main branch.
811
+ The pipeline will publish the package to npm and update the CHANGELOG following the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/).
798
812
  You need to add the `NODE_AUTH_TOKEN` and `GH_TOKEN` secrets to your repository settings, see [semantic-release](https://github.com/semantic-release/semantic-release) for more information.
@@ -1,12 +1,14 @@
1
1
  .header {
2
2
  align-items: flex-start;
3
+ box-sizing: border-box;
3
4
  display: flex;
4
5
  justify-content: space-between;
5
- padding: .5rem;
6
+ padding: 0.5rem;
7
+ width: 100%;
6
8
  }
7
9
 
8
10
  .header-light {
9
- background-color: #ddd;;
11
+ background-color: #ddd;
10
12
  }
11
13
 
12
14
  .header-dark {
@@ -14,10 +16,11 @@
14
16
  }
15
17
 
16
18
  .header-info {
17
- padding: .5rem;
19
+ padding: 0.5rem;
20
+ width: 100%;
18
21
  }
19
22
  .header-info-light {
20
- background-color: #ddd;;
23
+ background-color: #ddd;
21
24
  color: #000;
22
25
  }
23
26
  .header-info-dark {
@@ -3,3 +3,7 @@
3
3
  background-repeat: no-repeat;
4
4
  position: relative;
5
5
  }
6
+
7
+ .rois-wrapper {
8
+ margin-top: 1rem;
9
+ }
@@ -1,2 +1,2 @@
1
- .IconButton-module_icon-button__T7a-e{border-radius:50%;cursor:pointer;display:inline-block;line-height:0;padding:.5rem}.IconButton-module_icon-button-light__ZNyjL:hover{background-color:rgba(0,0,0,.1)}.IconButton-module_icon-button-dark__nwcCW:hover{background-color:hsla(0,0%,100%,.1)}.IconButton-module_icon-button-disabled__a9y4V{cursor:not-allowed;opacity:.5}.Modal-module_modal-overlay__AX73T{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9000}.Modal-module_modal-overlay-light__XGI4c{background-color:hsla(0,0%,100%,.7)}.Modal-module_modal-overlay-dark__o-3S1{background-color:rgba(0,0,0,.7)}.Modal-module_modal__JutQb{border-radius:5px;max-height:80%;max-width:80%;overflow:auto;padding:20px}.Modal-module_modal__JutQb:focus-visible{outline:none}.Modal-module_modal-light__tJ5iM{background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.2);color:#000}.Modal-module_modal-dark__ToNtQ{background-color:#333;box-shadow:0 0 10px hsla(0,0%,100%,.2);color:#fff}.Modal-module_modal-xs__ZpG0m{width:400px}.Modal-module_modal-sm__ZR3WM{width:600px}.Modal-module_modal-md__cekju{width:800px}.Modal-module_modal-lg__As-E0{width:1000px}.Modal-module_modal-xl__tBTZS{width:1200px}.Modal-module_modal-header__tayxk{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.Modal-module_modal-title__0SHNZ{font-size:1.5rem;font-weight:700;margin:0}.Modal-module_modal-title-light__txH-X{color:#000}.Modal-module_modal-title-dark__72qJi{color:#fff}.Modal-module_modal-footer__XwwRD{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.TextField-module_text-field__i1lgc{border-radius:.25rem;box-sizing:border-box;padding:.5rem;width:100%}.TextField-module_text-field__i1lgc:focus-visible{border:1px solid #1976d2;outline:none}.TextField-module_text-field-light__F5sz2{background-color:#fff;border:1px solid #ccc;color:#333}.TextField-module_text-field-dark__mGGSs{background-color:#333;border:1px solid #666;color:#fff}.TextField-module_text-field-error__6cqOv{border:1px solid #d32f2f}.TextField-module_text-field-label__Jjdem{display:block;font-weight:700;margin:0 0 1rem}.TextField-module_text-field-label-error__FTZnh{color:#d32f2f}.TextField-module_text-field-helper-text__E9vmk{font-size:.9rem;font-style:italic;margin-top:.5rem}.TextField-module_text-field-helper-text-error__48hRk{color:#d32f2f}.NumberField-module_number-field__Sg83r{border-radius:.25rem;box-sizing:border-box;padding:.5rem;width:100%}.NumberField-module_number-field__Sg83r:focus-visible{border:1px solid #1976d2;outline:none}.NumberField-module_number-field-light__-13Kl{background-color:#fff;border:1px solid #ccc;color:#333}.NumberField-module_number-field-dark__6br67{background-color:#333;border:1px solid #666;color:#fff}.NumberField-module_number-field-error__MuNs5{border:1px solid #d32f2f}.NumberField-module_number-field-label__-E8z7{display:block;font-weight:700;margin:0 0 1rem}.NumberField-module_number-field-label-error__nDs97{color:#d32f2f}.NumberField-module_number-field-helper-text__UNMnr{font-size:.9rem;font-style:italic;padding-top:.5rem}.NumberField-module_number-field-helper-text-error__QW1b-{color:#d32f2f}.BoolField-module_bool-field__-Qg7I{border-radius:.25rem;box-sizing:border-box;padding:.5rem}.BoolField-module_bool-field__-Qg7I:focus-visible{border:1px solid #1976d2;outline:none}.BoolField-module_bool-field-light__CHITs{background-color:#fff;border:1px solid #ccc;color:#333}.BoolField-module_bool-field-dark__gy9uQ{background-color:#333;border:1px solid #666;color:#fff}.BoolField-module_bool-field-error__qJV-E{border:1px solid #d32f2f}.BoolField-module_bool-field-label__LZbjy{display:block;font-weight:700;margin:0 0 1rem}.BoolField-module_bool-field-label-error__gBzdk{color:#d32f2f}.BoolField-module_bool-field-helper-text__fH8fC{font-size:.9rem;font-style:italic;margin-top:.5rem}.BoolField-module_bool-field-helper-text-error__McdWn{color:#d32f2f}.EnumField-module_enum-field__szaEn{border-radius:.25rem;box-sizing:border-box;padding:.5rem;width:100%}.EnumField-module_enum-field__szaEn:focus-visible{border:1px solid #1976d2;outline:none}.EnumField-module_enum-field-light__vWmLt{background-color:#fff;border:1px solid #ccc;color:#333}.EnumField-module_enum-field-dark__fDZ4K{background-color:#333;border:1px solid #666;color:#fff}.EnumField-module_enum-field-error__Kagoh{border:1px solid #d32f2f}.EnumField-module_enum-field-label__o1dg0{display:block;font-weight:700;margin:0 0 1rem}.EnumField-module_enum-field-label-error__O2ayN{color:#d32f2f}.EnumField-module_enum-field-helper-text__nRzmi{font-size:.9rem;font-style:italic;margin-top:.5rem}.EnumField-module_enum-field-helper-text-error__ukfl1{color:#d32f2f}.Button-module_button__MSSZa{align-items:center;border:none;border-radius:4px;color:#000;cursor:pointer;display:flex;font-size:16px;gap:.5rem;margin:4px 2px;padding:.5rem 1rem;text-align:center;text-decoration:none}.Button-module_button-light__u6BIN{background-color:#c7c7c7;color:#000}.Button-module_button-dark__3wtFc{background-color:#474747;color:#fff}.Button-module_button-disabled__s9jaY{cursor:not-allowed;opacity:.5}.Loader-module_loader__6JyG7{animation:Loader-module_spin__ZcV1b 1s linear infinite;border-radius:50%;height:40px;width:40px}.Loader-module_loader-light__WlXKM{border:10px solid #f3f3f3;border-top-color:#3498db}.Loader-module_loader-dark__mW1w5{border:10px solid #333;border-top-color:#3498db}@keyframes Loader-module_spin__ZcV1b{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Header-module_header__1FVtV{align-items:flex-start;display:flex;justify-content:space-between;padding:.5rem}.Header-module_header-light__Vqkzy{background-color:#ddd}.Header-module_header-dark__IuBJ1{background-color:#222}.Header-module_header-info__7BSAi{padding:.5rem}.Header-module_header-info-light__u9GgZ{background-color:#ddd;color:#000}.Header-module_header-info-dark__JWxIy{background-color:#222;color:#fff}.RoiEditor-module_canvas-wrapper__q0gQg{background-repeat:no-repeat;background-size:contain;position:relative}.ParametersModalForm-module_form__WXebJ{display:flex;flex-direction:column;gap:1rem}.ShapesList-module_shapes-table__sx5Xp{border-collapse:collapse;width:100%}.ShapesList-module_shapes-table__sx5Xp tr{cursor:pointer}.ShapesList-module_shapes-table__sx5Xp th{padding:.8rem .3rem;text-align:left}.ShapesList-module_shapes-table__sx5Xp td{padding:0 .3rem}.ShapesList-module_shapes-table__sx5Xp tr td:last-child,.ShapesList-module_shapes-table__sx5Xp tr th:last-child{text-align:right}.ShapesList-module_shapes-table-light__TbtKn{background-color:#eee;color:#000}.ShapesList-module_shapes-table-dark__siyhV{background-color:#333;color:#fff}.ShapesList-module_shapes-row-selected-light__-0gaE{background-color:#ccc}.ShapesList-module_shapes-row-selected-dark__bGR3a{background-color:#666}.ShapesList-module_shapes-row-even-light__2eUZX{background-color:#f7f7f7}.ShapesList-module_shapes-row-even-dark__eyECv{background-color:#444}.ShapesList-module_shapes-row-odd-light__vZzPj{background-color:#f0f0f0}.ShapesList-module_shapes-row-odd-dark__TWGAu{background-color:#555}.ShapesList-module_shapesTableName__9Q6i1{align-items:center;display:flex}.ShapesList-module_shapesTableColor__Iyd33{border:1px solid #000;border-radius:50%;box-sizing:border-box;display:inline-block;height:24px;margin-right:.5rem;width:24px}.ColorPicker-module_colorpickerWrapper__qONC-{display:flex;flex-wrap:nowrap;gap:.2rem}.ColorPicker-module_colorpicker-button__Tvdcw{border-radius:50%;box-sizing:border-box;cursor:pointer;height:24px;width:24px}.ColorPicker-module_colorpicker-button-active__zwhHp{border:2px solid red}.Toolbar-module_toolbar__ywNcv{align-items:center;display:flex;padding:.5rem}.Toolbar-module_toolbar-light__aJtaH{background-color:#eee}.Toolbar-module_toolbar-dark__9iO4U{background-color:#333}.Toolbar-module_toolbar-helper__DBw3v{padding:.5rem}.Toolbar-module_toolbar-helper-light__Z4PLG{background-color:#f7f7f7;color:#000}.Toolbar-module_toolbar-helper-dark__AEXUy{background-color:#222;color:#fff}.Toolbar-module_toolbar-spacer__qPxmN{height:20px;margin:0 .5rem;width:1px}.Toolbar-module_toolbar-spacer-light__2CNYP{background-color:#ccc}.Toolbar-module_toolbar-spacer-dark__cW0Rj{background-color:#555}.TopBar-module_top-bar__9oCUR{align-items:center;display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}.TopBar-module_main-parameters-view__f-0SX{padding:1rem}.TopBar-module_main-parameters-view-light__o-dbi{background-color:#eee}.TopBar-module_main-parameters-view-dark__FnEnj{background-color:#333;color:#fff}.TopBar-module_main-parameters-button__9JX--{display:flex;justify-content:flex-end}
1
+ .BoolField-module_bool-field__-Qg7I{border-radius:.25rem;box-sizing:border-box;padding:.5rem}.BoolField-module_bool-field__-Qg7I:focus-visible{border:1px solid #1976d2;outline:none}.BoolField-module_bool-field-light__CHITs{background-color:#fff;border:1px solid #ccc;color:#333}.BoolField-module_bool-field-dark__gy9uQ{background-color:#333;border:1px solid #666;color:#fff}.BoolField-module_bool-field-error__qJV-E{border:1px solid #d32f2f}.BoolField-module_bool-field-label__LZbjy{display:block;font-weight:700;margin:0 0 1rem}.BoolField-module_bool-field-label-error__gBzdk{color:#d32f2f}.BoolField-module_bool-field-helper-text__fH8fC{font-size:.9rem;font-style:italic;margin-top:.5rem}.BoolField-module_bool-field-helper-text-error__McdWn{color:#d32f2f}.Button-module_button__MSSZa{align-items:center;border:none;border-radius:4px;color:#000;cursor:pointer;display:flex;font-size:16px;gap:.5rem;margin:4px 2px;padding:.5rem 1rem;text-align:center;text-decoration:none}.Button-module_button-light__u6BIN{background-color:#c7c7c7;color:#000}.Button-module_button-dark__3wtFc{background-color:#474747;color:#fff}.Button-module_button-disabled__s9jaY{cursor:not-allowed;opacity:.5}.EnumField-module_enum-field__szaEn{border-radius:.25rem;box-sizing:border-box;padding:.5rem;width:100%}.EnumField-module_enum-field__szaEn:focus-visible{border:1px solid #1976d2;outline:none}.EnumField-module_enum-field-light__vWmLt{background-color:#fff;border:1px solid #ccc;color:#333}.EnumField-module_enum-field-dark__fDZ4K{background-color:#333;border:1px solid #666;color:#fff}.EnumField-module_enum-field-error__Kagoh{border:1px solid #d32f2f}.EnumField-module_enum-field-label__o1dg0{display:block;font-weight:700;margin:0 0 1rem}.EnumField-module_enum-field-label-error__O2ayN{color:#d32f2f}.EnumField-module_enum-field-helper-text__nRzmi{font-size:.9rem;font-style:italic;margin-top:.5rem}.EnumField-module_enum-field-helper-text-error__ukfl1{color:#d32f2f}.IconButton-module_icon-button__T7a-e{border-radius:50%;cursor:pointer;display:inline-block;line-height:0;padding:.5rem}.IconButton-module_icon-button-light__ZNyjL:hover{background-color:rgba(0,0,0,.1)}.IconButton-module_icon-button-dark__nwcCW:hover{background-color:hsla(0,0%,100%,.1)}.IconButton-module_icon-button-disabled__a9y4V{cursor:not-allowed;opacity:.5}.Modal-module_modal-overlay__AX73T{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9000}.Modal-module_modal-overlay-light__XGI4c{background-color:hsla(0,0%,100%,.7)}.Modal-module_modal-overlay-dark__o-3S1{background-color:rgba(0,0,0,.7)}.Modal-module_modal__JutQb{border-radius:5px;max-height:80%;max-width:80%;overflow:auto;padding:20px}.Modal-module_modal__JutQb:focus-visible{outline:none}.Modal-module_modal-light__tJ5iM{background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.2);color:#000}.Modal-module_modal-dark__ToNtQ{background-color:#333;box-shadow:0 0 10px hsla(0,0%,100%,.2);color:#fff}.Modal-module_modal-xs__ZpG0m{width:400px}.Modal-module_modal-sm__ZR3WM{width:600px}.Modal-module_modal-md__cekju{width:800px}.Modal-module_modal-lg__As-E0{width:1000px}.Modal-module_modal-xl__tBTZS{width:1200px}.Modal-module_modal-header__tayxk{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.Modal-module_modal-title__0SHNZ{font-size:1.5rem;font-weight:700;margin:0}.Modal-module_modal-title-light__txH-X{color:#000}.Modal-module_modal-title-dark__72qJi{color:#fff}.Modal-module_modal-footer__XwwRD{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.NumberField-module_number-field__Sg83r{border-radius:.25rem;box-sizing:border-box;padding:.5rem;width:100%}.NumberField-module_number-field__Sg83r:focus-visible{border:1px solid #1976d2;outline:none}.NumberField-module_number-field-light__-13Kl{background-color:#fff;border:1px solid #ccc;color:#333}.NumberField-module_number-field-dark__6br67{background-color:#333;border:1px solid #666;color:#fff}.NumberField-module_number-field-error__MuNs5{border:1px solid #d32f2f}.NumberField-module_number-field-label__-E8z7{display:block;font-weight:700;margin:0 0 1rem}.NumberField-module_number-field-label-error__nDs97{color:#d32f2f}.NumberField-module_number-field-helper-text__UNMnr{font-size:.9rem;font-style:italic;padding-top:.5rem}.NumberField-module_number-field-helper-text-error__QW1b-{color:#d32f2f}.TextField-module_text-field__i1lgc{border-radius:.25rem;box-sizing:border-box;padding:.5rem;width:100%}.TextField-module_text-field__i1lgc:focus-visible{border:1px solid #1976d2;outline:none}.TextField-module_text-field-light__F5sz2{background-color:#fff;border:1px solid #ccc;color:#333}.TextField-module_text-field-dark__mGGSs{background-color:#333;border:1px solid #666;color:#fff}.TextField-module_text-field-error__6cqOv{border:1px solid #d32f2f}.TextField-module_text-field-label__Jjdem{display:block;font-weight:700;margin:0 0 1rem}.TextField-module_text-field-label-error__FTZnh{color:#d32f2f}.TextField-module_text-field-helper-text__E9vmk{font-size:.9rem;font-style:italic;margin-top:.5rem}.TextField-module_text-field-helper-text-error__48hRk{color:#d32f2f}.Loader-module_loader__6JyG7{animation:Loader-module_spin__ZcV1b 1s linear infinite;border-radius:50%;height:40px;width:40px}.Loader-module_loader-light__WlXKM{border:10px solid #f3f3f3;border-top-color:#3498db}.Loader-module_loader-dark__mW1w5{border:10px solid #333;border-top-color:#3498db}@keyframes Loader-module_spin__ZcV1b{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Header-module_header__1FVtV{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;padding:.5rem;width:100%}.Header-module_header-light__Vqkzy{background-color:#ddd}.Header-module_header-dark__IuBJ1{background-color:#222}.Header-module_header-info__7BSAi{padding:.5rem;width:100%}.Header-module_header-info-light__u9GgZ{background-color:#ddd;color:#000}.Header-module_header-info-dark__JWxIy{background-color:#222;color:#fff}.RoiEditor-module_canvas-wrapper__q0gQg{background-repeat:no-repeat;background-size:contain;position:relative}.RoiEditor-module_rois-wrapper__kRRhl{margin-top:1rem}.ParametersModalForm-module_form__WXebJ{display:flex;flex-direction:column;gap:1rem}.ShapesList-module_shapes-table__sx5Xp{border-collapse:collapse;width:100%}.ShapesList-module_shapes-table__sx5Xp tr{cursor:pointer}.ShapesList-module_shapes-table__sx5Xp th{padding:.8rem .3rem;text-align:left}.ShapesList-module_shapes-table__sx5Xp td{padding:0 .3rem}.ShapesList-module_shapes-table__sx5Xp tr td:last-child,.ShapesList-module_shapes-table__sx5Xp tr th:last-child{text-align:right}.ShapesList-module_shapes-table-light__TbtKn{background-color:#eee;color:#000}.ShapesList-module_shapes-table-dark__siyhV{background-color:#333;color:#fff}.ShapesList-module_shapes-row-selected-light__-0gaE{background-color:#ccc}.ShapesList-module_shapes-row-selected-dark__bGR3a{background-color:#666}.ShapesList-module_shapes-row-even-light__2eUZX{background-color:#f7f7f7}.ShapesList-module_shapes-row-even-dark__eyECv{background-color:#444}.ShapesList-module_shapes-row-odd-light__vZzPj{background-color:#f0f0f0}.ShapesList-module_shapes-row-odd-dark__TWGAu{background-color:#555}.ShapesList-module_shapesTableName__9Q6i1{align-items:center;display:flex}.ShapesList-module_shapesTableColor__Iyd33{border:1px solid #000;border-radius:50%;box-sizing:border-box;display:inline-block;height:24px;margin-right:.5rem;width:24px}.ColorPicker-module_colorpickerWrapper__qONC-{display:flex;flex-wrap:nowrap;gap:.2rem}.ColorPicker-module_colorpicker-button__Tvdcw{border-radius:50%;box-sizing:border-box;cursor:pointer;height:24px;width:24px}.ColorPicker-module_colorpicker-button-active__zwhHp{border:2px solid red}.Toolbar-module_toolbar__ywNcv{align-items:center;display:flex;padding:.5rem}.Toolbar-module_toolbar-light__aJtaH{background-color:#eee}.Toolbar-module_toolbar-dark__9iO4U{background-color:#333}.Toolbar-module_toolbar-helper__DBw3v{padding:.5rem}.Toolbar-module_toolbar-helper-light__Z4PLG{background-color:#f7f7f7;color:#000}.Toolbar-module_toolbar-helper-dark__AEXUy{background-color:#222;color:#fff}.Toolbar-module_toolbar-spacer__qPxmN{height:20px;margin:0 .5rem;width:1px}.Toolbar-module_toolbar-spacer-light__2CNYP{background-color:#ccc}.Toolbar-module_toolbar-spacer-dark__cW0Rj{background-color:#555}.TopBar-module_top-bar__9oCUR{align-items:center;display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}.TopBar-module_main-parameters-view__f-0SX{padding:1rem}.TopBar-module_main-parameters-view-light__o-dbi{background-color:#eee}.TopBar-module_main-parameters-view-dark__FnEnj{background-color:#333;color:#fff}.TopBar-module_main-parameters-button__9JX--{display:flex;justify-content:flex-end}
2
2
  /*# sourceMappingURL=index.cjs.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["IconButton.module.css","Modal.module.css","TextField.module.css","NumberField.module.css","BoolField.module.css","EnumField.module.css","Button.module.css","Loader.module.css","Header.module.css","RoiEditor.module.css","ParametersModalForm.module.css","ShapesList.module.css","ColorPicker.module.css","Toolbar.module.css","TopBar.module.css"],"names":[],"mappings":"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E,2BAA4B,CAD5B,uBAAwB,CAExB,iBACF,CCJA,wCACE,YAAa,CACb,qBAAsB,CACtB,QACF,CCJA,uCACE,wBAAyB,CACzB,UACF,CAEA,0CACE,cACF,CAEA,0CACE,mBAAoB,CACpB,eACF,CAEA,0CACE,eACF,CAEA,gHAEE,gBACF,CAEA,6CACE,qBAAsB,CACtB,UACF,CAEA,4CACE,qBAAsB,CACtB,UACF,CAEA,oDACE,qBACF,CAEA,mDACE,qBACF,CAEA,gDACE,wBACF,CAEA,+CACE,qBACF,CAEA,+CACE,wBACF,CAEA,8CACE,qBACF,CAEA,0CAEE,kBAAmB,CADnB,YAEF,CAEA,2CACE,qBAAsB,CAKtB,iBAAkB,CAJlB,qBAAsB,CACtB,oBAAqB,CAErB,WAAY,CAEZ,kBAAmB,CAHnB,UAIF,CCtEA,8CACE,YAAa,CACb,gBAAiB,CACjB,SACF,CAEA,8CAIE,iBAAkB,CAHlB,qBAAsB,CAItB,cAAe,CAFf,WAAY,CADZ,UAIF,CAEA,qDACE,oBACF,CChBA,+BACE,kBAAmB,CACnB,YAAa,CACb,aACF,CAEA,qCACE,qBACF,CAEA,oCACE,qBACF,CAEA,sCACE,aACF,CAEA,4CACE,wBAAyB,CACzB,UACF,CAEA,2CACE,qBAAsB,CACtB,UACF,CAEA,sCACE,WAAY,CACZ,cAAe,CACf,SACF,CAEA,4CACE,qBACF,CAEA,2CACE,qBACF,CCxCA,8BACE,kBAAmB,CACnB,YAAa,CACb,SAAU,CACV,wBAAyB,CACzB,mBACF,CAEA,2CACE,YACF,CACA,iDACE,qBACF,CACA,gDACE,qBAAsB,CACtB,UACF,CAEA,6CACE,YAAa,CACb,wBACF","file":"index.cjs.css","sourcesContent":[".icon-button {\n display: inline-block;\n border-radius: 50%;\n line-height: 0;\n padding: 0.5rem;\n cursor: pointer;\n}\n\n.icon-button-light:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.icon-button-dark:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n\n.icon-button-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n",".modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 9000;\n}\n\n.modal-overlay-light {\n background-color: rgba(255, 255, 255, 0.7);\n}\n\n.modal-overlay-dark {\n background-color: rgba(0, 0, 0, 0.7);\n}\n\n.modal {\n max-width: 80%;\n max-height: 80%;\n overflow: auto;\n padding: 20px;\n border-radius: 5px;\n}\n\n.modal:focus-visible {\n outline: none;\n}\n\n.modal-light {\n background-color: #fff;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n color: #000;\n}\n\n.modal-dark {\n background-color: #333;\n box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);\n color: #fff;\n}\n\n.modal-xs {\n width: 400px;\n}\n\n.modal-sm {\n width: 600px;\n}\n\n.modal-md {\n width: 800px;\n}\n\n.modal-lg {\n width: 1000px;\n}\n\n.modal-xl {\n width: 1200px;\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 1rem;\n}\n\n.modal-title {\n font-size: 1.5rem;\n font-weight: bold;\n margin: 0;\n}\n\n.modal-title-light {\n color: #000;\n}\n\n.modal-title-dark {\n color: #fff;\n}\n\n.modal-footer {\n display: flex;\n justify-content: flex-end;\n margin-top: 1rem;\n gap: .5rem;\n}\n\n","/*\n.text-field-wrapper {\n margin-bottom: 2rem;\n}\n.text-field-wrapper-light {\n}\n.text-field-wrapper-dark {\n}\n*/\n\n.text-field {\n border-radius: 0.25rem;\n box-sizing: border-box;\n padding: 0.5rem;\n width: 100%;\n}\n.text-field:focus-visible {\n outline: none;\n border: 1px solid #1976d2;\n}\n.text-field-light {\n background-color: #fff;\n color: #333;\n border: 1px solid #ccc;\n}\n.text-field-dark {\n background-color: #333;\n border: 1px solid #666;\n color: #fff;\n}\n.text-field-error {\n border: 1px solid #d32f2f;\n}\n.text-field-label {\n font-weight: bold;\n display: block;\n margin: 0 0 1rem 0;\n}\n/*\n.text-fiel-label-light {\n}\n.text-field-label-dark {\n}\n*/\n.text-field-label-error {\n color: #d32f2f;\n}\n.text-field-helper-text {\n font-style: italic;\n font-size: 0.9rem;\n margin-top: 0.5rem;\n}\n/*\n.text-field-helper-text-light {\n}\n.text-field-helper-text-dark {\n}\n*/\n.text-field-helper-text-error {\n color: #d32f2f;\n}\n","/*\n.number-field-wrapper {\n}\n.number-field-wrapper-light {\n}\n.number-field-wrapper-dark {\n}\n*/\n\n.number-field {\n border-radius: 0.25rem;\n box-sizing: border-box;\n padding: 0.5rem;\n width: 100%;\n}\n.number-field:focus-visible {\n outline: none;\n border: 1px solid #1976d2;\n}\n.number-field-light {\n background-color: #fff;\n color: #333;\n border: 1px solid #ccc;\n}\n.number-field-dark {\n background-color: #333;\n border: 1px solid #666;\n color: #fff;\n}\n.number-field-error {\n border: 1px solid #d32f2f;\n}\n.number-field-label {\n font-weight: bold;\n display: block;\n margin: 0 0 1rem 0;\n}\n/*\n.text-fiel-label-light {\n}\n.number-field-label-dark {\n}\n*/\n.number-field-label-error {\n color: #d32f2f;\n}\n.number-field-helper-text {\n font-style: italic;\n font-size: 0.9rem;\n padding-top: 0.5rem;\n}\n/*\n.number-field-helper-text-light {\n}\n.number-field-helper-text-dark {\n}\n*/\n.number-field-helper-text-error {\n color: #d32f2f;\n}\n","/*\n.bool-field-wrapper {\n margin-bottom: 2rem;\n}\n.bool-field-wrapper-light {\n}\n.bool-field-wrapper-dark {\n}\n*/\n\n.bool-field {\n border-radius: 0.25rem;\n box-sizing: border-box;\n padding: 0.5rem;\n}\n.bool-field:focus-visible {\n outline: none;\n border: 1px solid #1976d2;\n}\n.bool-field-light {\n background-color: #fff;\n color: #333;\n border: 1px solid #ccc;\n}\n.bool-field-dark {\n background-color: #333;\n border: 1px solid #666;\n color: #fff;\n}\n.bool-field-error {\n border: 1px solid #d32f2f;\n}\n.bool-field-label {\n font-weight: bold;\n display: block;\n margin: 0 0 1rem 0;\n}\n/*\n.text-fiel-label-light {\n}\n.bool-field-label-dark {\n}\n*/\n.bool-field-label-error {\n color: #d32f2f;\n}\n.bool-field-helper-text {\n font-style: italic;\n font-size: 0.9rem;\n margin-top: 0.5rem;\n}\n/*\n.bool-field-helper-text-light {\n}\n.bool-field-helper-text-dark {\n}\n*/\n.bool-field-helper-text-error {\n color: #d32f2f;\n}\n","/*\n.enum-field-wrapper {\n margin-bottom: 2rem;\n}\n.enum-field-wrapper-light {\n}\n.enum-field-wrapper-dark {\n}\n*/\n\n.enum-field {\n border-radius: 0.25rem;\n box-sizing: border-box;\n padding: 0.5rem;\n width: 100%;\n}\n.enum-field:focus-visible {\n outline: none;\n border: 1px solid #1976d2;\n}\n.enum-field-light {\n background-color: #fff;\n color: #333;\n border: 1px solid #ccc;\n}\n.enum-field-dark {\n background-color: #333;\n border: 1px solid #666;\n color: #fff;\n}\n.enum-field-error {\n border: 1px solid #d32f2f;\n}\n.enum-field-label {\n font-weight: bold;\n display: block;\n margin: 0 0 1rem 0;\n}\n/*\n.text-fiel-label-light {\n}\n.enum-field-label-dark {\n}\n*/\n.enum-field-label-error {\n color: #d32f2f;\n}\n.enum-field-helper-text {\n font-style: italic;\n font-size: 0.9rem;\n margin-top: 0.5rem;\n}\n/*\n.enum-field-helper-text-light {\n}\n.enum-field-helper-text-dark {\n}\n*/\n.enum-field-helper-text-error {\n color: #d32f2f;\n}\n",".button {\n align-items: center;\n border: none;\n border-radius: 4px;\n color: black;\n padding: .5rem 1rem;\n text-align: center;\n text-decoration: none;\n display: flex;\n font-size: 16px;\n gap: .5rem;\n margin: 4px 2px;\n cursor: pointer;\n}\n\n.button-light {\n background-color: #c7c7c7;\n color: black;\n}\n\n.button-dark {\n background-color: #474747;\n color: white;\n}\n\n.button-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n",".loader {\n border-radius: 50%;\n width: 40px;\n height: 40px;\n animation: spin 1s linear infinite;\n}\n\n.loader-light {\n border: 10px solid #f3f3f3;\n border-top: 10px solid #3498db;\n}\n\n.loader-dark {\n border: 10px solid #333;\n border-top: 10px solid #3498db;\n}\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n} \n",".header {\n align-items: flex-start;\n display: flex;\n justify-content: space-between;\n padding: .5rem;\n}\n\n.header-light {\n background-color: #ddd;;\n}\n\n.header-dark {\n background-color: #222;\n}\n\n.header-info {\n padding: .5rem;\n}\n.header-info-light {\n background-color: #ddd;;\n color: #000;\n}\n.header-info-dark {\n background-color: #222;\n color: #fff;\n}\n",".canvas-wrapper {\n background-size: contain;\n background-repeat: no-repeat;\n position: relative;\n}\n",".form {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n",".shapes-table {\n border-collapse: collapse;\n width: 100%;\n}\n\n.shapes-table tr {\n cursor: pointer;\n}\n\n.shapes-table th {\n padding: .8rem .3rem;\n text-align: left;\n}\n\n.shapes-table td {\n padding: 0 .3rem;\n}\n\n.shapes-table tr td:last-child,\n.shapes-table tr th:last-child {\n text-align: right;\n}\n\n.shapes-table-light {\n background-color: #eee;\n color: #000;\n}\n\n.shapes-table-dark {\n background-color: #333;\n color: #fff;\n}\n\n.shapes-row-selected-light {\n background-color: #ccc;\n}\n\n.shapes-row-selected-dark {\n background-color: #666;\n}\n\n.shapes-row-even-light {\n background-color: #f7f7f7;\n}\n\n.shapes-row-even-dark {\n background-color: #444;\n}\n\n.shapes-row-odd-light {\n background-color: #f0f0f0;\n}\n\n.shapes-row-odd-dark {\n background-color: #555;\n}\n\n.shapesTableName {\n display: flex;\n align-items: center;\n}\n\n.shapesTableColor {\n border: 1px solid #000;\n box-sizing: border-box;\n display: inline-block;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n margin-right: .5rem;\n}\n",".colorpickerWrapper {\n display: flex;\n flex-wrap: nowrap;\n gap: .2rem;\n}\n\n.colorpicker-button {\n box-sizing: border-box;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.colorpicker-button-active {\n border: 2px solid red;\n}\n",".toolbar {\n align-items: center;\n display: flex;\n padding: .5rem;\n}\n\n.toolbar-light {\n background-color: #eee;;\n}\n\n.toolbar-dark {\n background-color: #333;\n}\n\n.toolbar-helper {\n padding: .5rem;\n}\n\n.toolbar-helper-light {\n background-color: #f7f7f7;;\n color: #000;\n}\n\n.toolbar-helper-dark {\n background-color: #222;\n color: #fff;\n}\n\n.toolbar-spacer {\n height: 20px;\n margin: 0 .5rem;\n width: 1px;\n}\n\n.toolbar-spacer-light {\n background-color: #ccc;\n}\n\n.toolbar-spacer-dark {\n background-color: #555;\n}\n",".top-bar {\n align-items: center;\n display: flex;\n gap: .5rem;\n justify-content: flex-end;\n margin-bottom: .5rem;\n}\n\n.main-parameters-view {\n padding: 1rem;\n}\n.main-parameters-view-light {\n background-color: #eee;\n}\n.main-parameters-view-dark {\n background-color: #333;\n color: #fff;\n}\n\n.main-parameters-button {\n display: flex;\n justify-content: flex-end;\n}\n\n"]}
1
+ {"version":3,"sources":["BoolField.module.css","Button.module.css","EnumField.module.css","IconButton.module.css","Modal.module.css","NumberField.module.css","TextField.module.css","Loader.module.css","Header.module.css","RoiEditor.module.css","ParametersModalForm.module.css","ShapesList.module.css","ColorPicker.module.css","Toolbar.module.css","TopBar.module.css"],"names":[],"mappings":"AAUA,oCACE,oBAAsB,CACtB,qBAAsB,CACtB,aACF,CACA,kDAEE,wBAAyB,CADzB,YAEF,CACA,0CACE,qBAAsB,CAEtB,qBAAsB,CADtB,UAEF,CACA,yCACE,qBAAsB,CACtB,qBAAsB,CACtB,UACF,CACA,0CACE,wBACF,CACA,0CAEE,aAAc,CADd,eAAiB,CAEjB,eACF,CAOA,gDACE,aACF,CACA,gDAEE,eAAiB,CADjB,iBAAkB,CAElB,gBACF,CAOA,sDACE,aACF,CC3DA,6BACE,kBAAmB,CACnB,WAAY,CACZ,iBAAkB,CAClB,UAAY,CAQZ,cAAe,CAJf,YAAa,CACb,cAAe,CACf,SAAU,CACV,cAAe,CANf,kBAAmB,CACnB,iBAAkB,CAClB,oBAMF,CAEA,mCACE,wBAAyB,CACzB,UACF,CAEA,kCACE,wBAAyB,CACzB,UACF,CAEA,sCACE,kBAAmB,CACnB,UACF,CClBA,oCACE,oBAAsB,CACtB,qBAAsB,CACtB,aAAe,CACf,UACF,CACA,kDAEE,wBAAyB,CADzB,YAEF,CACA,0CACE,qBAAsB,CAEtB,qBAAsB,CADtB,UAEF,CACA,yCACE,qBAAsB,CACtB,qBAAsB,CACtB,UACF,CACA,0CACE,wBACF,CACA,0CAEE,aAAc,CADd,eAAiB,CAEjB,eACF,CAOA,gDACE,aACF,CACA,gDAEE,eAAiB,CADjB,iBAAkB,CAElB,gBACF,CAOA,sDACE,aACF,CC5DA,sCAEE,iBAAkB,CAGlB,cAAe,CAJf,oBAAqB,CAErB,aAAc,CACd,aAEF,CAEA,kDACE,+BACF,CAEA,iDACE,mCACF,CAEA,+CACE,kBAAmB,CACnB,UACF,CCnBA,mCAQE,kBAAmB,CAFnB,YAAa,CADb,WAAY,CAEZ,sBAAuB,CAJvB,MAAO,CAFP,cAAe,CACf,KAAM,CAEN,UAAW,CAKX,YACF,CAEA,yCACE,mCACF,CAEA,wCACE,+BACF,CAEA,2BAKE,iBAAkB,CAHlB,cAAe,CADf,aAAc,CAEd,aAAc,CACd,YAEF,CAEA,yCACE,YACF,CAEA,iCACE,qBAAsB,CACtB,kCAAuC,CACvC,UACF,CAEA,gCACE,qBAAsB,CACtB,sCAA6C,CAC7C,UACF,CAEA,8BACE,WACF,CAEA,8BACE,WACF,CAEA,8BACE,WACF,CAEA,8BACE,YACF,CAEA,8BACE,YACF,CAEA,kCAGE,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,kBACF,CAEA,iCACE,gBAAiB,CACjB,eAAiB,CACjB,QACF,CAEA,uCACE,UACF,CAEA,sCACE,UACF,CAEA,kCACE,YAAa,CAGb,SAAU,CAFV,wBAAyB,CACzB,eAEF,CCjFA,wCACE,oBAAsB,CACtB,qBAAsB,CACtB,aAAe,CACf,UACF,CACA,sDAEE,wBAAyB,CADzB,YAEF,CACA,8CACE,qBAAsB,CAEtB,qBAAsB,CADtB,UAEF,CACA,6CACE,qBAAsB,CACtB,qBAAsB,CACtB,UACF,CACA,8CACE,wBACF,CACA,8CAEE,aAAc,CADd,eAAiB,CAEjB,eACF,CAOA,oDACE,aACF,CACA,oDAEE,eAAiB,CADjB,iBAAkB,CAElB,iBACF,CAOA,0DACE,aACF,CCjDA,oCACE,oBAAsB,CACtB,qBAAsB,CACtB,aAAe,CACf,UACF,CACA,kDAEE,wBAAyB,CADzB,YAEF,CACA,0CACE,qBAAsB,CAEtB,qBAAsB,CADtB,UAEF,CACA,yCACE,qBAAsB,CACtB,qBAAsB,CACtB,UACF,CACA,0CACE,wBACF,CACA,0CAEE,aAAc,CADd,eAAiB,CAEjB,eACF,CAOA,gDACE,aACF,CACA,gDAEE,eAAiB,CADjB,iBAAkB,CAElB,gBACF,CAOA,sDACE,aACF,CC5DA,6BAIE,sDAAkC,CAHlC,iBAAkB,CAElB,WAAY,CADZ,UAGF,CAEA,mCAEE,yBAA8B,CAA9B,wBACF,CAEA,kCAEE,sBAA8B,CAA9B,wBACF,CAEC,qCACC,GACE,sBACF,CACA,GACE,uBACF,CACF,CCxBA,6BACE,sBAAuB,CACvB,qBAAsB,CACtB,YAAa,CACb,6BAA8B,CAC9B,aAAe,CACf,UACF,CAEA,mCACE,qBACF,CAEA,kCACE,qBACF,CAEA,kCACE,aAAe,CACf,UACF,CACA,wCACE,qBAAsB,CACtB,UACF,CACA,uCACE,qBAAsB,CACtB,UACF,CC5BA,wCAEE,2BAA4B,CAD5B,uBAAwB,CAExB,iBACF,CAEA,sCACE,eACF,CCRA,wCACE,YAAa,CACb,qBAAsB,CACtB,QACF,CCJA,uCACE,wBAAyB,CACzB,UACF,CAEA,0CACE,cACF,CAEA,0CACE,mBAAoB,CACpB,eACF,CAEA,0CACE,eACF,CAEA,gHAEE,gBACF,CAEA,6CACE,qBAAsB,CACtB,UACF,CAEA,4CACE,qBAAsB,CACtB,UACF,CAEA,oDACE,qBACF,CAEA,mDACE,qBACF,CAEA,gDACE,wBACF,CAEA,+CACE,qBACF,CAEA,+CACE,wBACF,CAEA,8CACE,qBACF,CAEA,0CAEE,kBAAmB,CADnB,YAEF,CAEA,2CACE,qBAAsB,CAKtB,iBAAkB,CAJlB,qBAAsB,CACtB,oBAAqB,CAErB,WAAY,CAEZ,kBAAmB,CAHnB,UAIF,CCtEA,8CACE,YAAa,CACb,gBAAiB,CACjB,SACF,CAEA,8CAIE,iBAAkB,CAHlB,qBAAsB,CAItB,cAAe,CAFf,WAAY,CADZ,UAIF,CAEA,qDACE,oBACF,CChBA,+BACE,kBAAmB,CACnB,YAAa,CACb,aACF,CAEA,qCACE,qBACF,CAEA,oCACE,qBACF,CAEA,sCACE,aACF,CAEA,4CACE,wBAAyB,CACzB,UACF,CAEA,2CACE,qBAAsB,CACtB,UACF,CAEA,sCACE,WAAY,CACZ,cAAe,CACf,SACF,CAEA,4CACE,qBACF,CAEA,2CACE,qBACF,CCxCA,8BACE,kBAAmB,CACnB,YAAa,CACb,SAAU,CACV,wBAAyB,CACzB,mBACF,CAEA,2CACE,YACF,CACA,iDACE,qBACF,CACA,gDACE,qBAAsB,CACtB,UACF,CAEA,6CACE,YAAa,CACb,wBACF","file":"index.cjs.css","sourcesContent":["/*\n.bool-field-wrapper {\n margin-bottom: 2rem;\n}\n.bool-field-wrapper-light {\n}\n.bool-field-wrapper-dark {\n}\n*/\n\n.bool-field {\n border-radius: 0.25rem;\n box-sizing: border-box;\n padding: 0.5rem;\n}\n.bool-field:focus-visible {\n outline: none;\n border: 1px solid #1976d2;\n}\n.bool-field-light {\n background-color: #fff;\n color: #333;\n border: 1px solid #ccc;\n}\n.bool-field-dark {\n background-color: #333;\n border: 1px solid #666;\n color: #fff;\n}\n.bool-field-error {\n border: 1px solid #d32f2f;\n}\n.bool-field-label {\n font-weight: bold;\n display: block;\n margin: 0 0 1rem 0;\n}\n/*\n.text-fiel-label-light {\n}\n.bool-field-label-dark {\n}\n*/\n.bool-field-label-error {\n color: #d32f2f;\n}\n.bool-field-helper-text {\n font-style: italic;\n font-size: 0.9rem;\n margin-top: 0.5rem;\n}\n/*\n.bool-field-helper-text-light {\n}\n.bool-field-helper-text-dark {\n}\n*/\n.bool-field-helper-text-error {\n color: #d32f2f;\n}\n",".button {\n align-items: center;\n border: none;\n border-radius: 4px;\n color: black;\n padding: .5rem 1rem;\n text-align: center;\n text-decoration: none;\n display: flex;\n font-size: 16px;\n gap: .5rem;\n margin: 4px 2px;\n cursor: pointer;\n}\n\n.button-light {\n background-color: #c7c7c7;\n color: black;\n}\n\n.button-dark {\n background-color: #474747;\n color: white;\n}\n\n.button-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n","/*\n.enum-field-wrapper {\n margin-bottom: 2rem;\n}\n.enum-field-wrapper-light {\n}\n.enum-field-wrapper-dark {\n}\n*/\n\n.enum-field {\n border-radius: 0.25rem;\n box-sizing: border-box;\n padding: 0.5rem;\n width: 100%;\n}\n.enum-field:focus-visible {\n outline: none;\n border: 1px solid #1976d2;\n}\n.enum-field-light {\n background-color: #fff;\n color: #333;\n border: 1px solid #ccc;\n}\n.enum-field-dark {\n background-color: #333;\n border: 1px solid #666;\n color: #fff;\n}\n.enum-field-error {\n border: 1px solid #d32f2f;\n}\n.enum-field-label {\n font-weight: bold;\n display: block;\n margin: 0 0 1rem 0;\n}\n/*\n.text-fiel-label-light {\n}\n.enum-field-label-dark {\n}\n*/\n.enum-field-label-error {\n color: #d32f2f;\n}\n.enum-field-helper-text {\n font-style: italic;\n font-size: 0.9rem;\n margin-top: 0.5rem;\n}\n/*\n.enum-field-helper-text-light {\n}\n.enum-field-helper-text-dark {\n}\n*/\n.enum-field-helper-text-error {\n color: #d32f2f;\n}\n",".icon-button {\n display: inline-block;\n border-radius: 50%;\n line-height: 0;\n padding: 0.5rem;\n cursor: pointer;\n}\n\n.icon-button-light:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.icon-button-dark:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n\n.icon-button-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n",".modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 9000;\n}\n\n.modal-overlay-light {\n background-color: rgba(255, 255, 255, 0.7);\n}\n\n.modal-overlay-dark {\n background-color: rgba(0, 0, 0, 0.7);\n}\n\n.modal {\n max-width: 80%;\n max-height: 80%;\n overflow: auto;\n padding: 20px;\n border-radius: 5px;\n}\n\n.modal:focus-visible {\n outline: none;\n}\n\n.modal-light {\n background-color: #fff;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n color: #000;\n}\n\n.modal-dark {\n background-color: #333;\n box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);\n color: #fff;\n}\n\n.modal-xs {\n width: 400px;\n}\n\n.modal-sm {\n width: 600px;\n}\n\n.modal-md {\n width: 800px;\n}\n\n.modal-lg {\n width: 1000px;\n}\n\n.modal-xl {\n width: 1200px;\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 1rem;\n}\n\n.modal-title {\n font-size: 1.5rem;\n font-weight: bold;\n margin: 0;\n}\n\n.modal-title-light {\n color: #000;\n}\n\n.modal-title-dark {\n color: #fff;\n}\n\n.modal-footer {\n display: flex;\n justify-content: flex-end;\n margin-top: 1rem;\n gap: .5rem;\n}\n\n","/*\n.number-field-wrapper {\n}\n.number-field-wrapper-light {\n}\n.number-field-wrapper-dark {\n}\n*/\n\n.number-field {\n border-radius: 0.25rem;\n box-sizing: border-box;\n padding: 0.5rem;\n width: 100%;\n}\n.number-field:focus-visible {\n outline: none;\n border: 1px solid #1976d2;\n}\n.number-field-light {\n background-color: #fff;\n color: #333;\n border: 1px solid #ccc;\n}\n.number-field-dark {\n background-color: #333;\n border: 1px solid #666;\n color: #fff;\n}\n.number-field-error {\n border: 1px solid #d32f2f;\n}\n.number-field-label {\n font-weight: bold;\n display: block;\n margin: 0 0 1rem 0;\n}\n/*\n.text-fiel-label-light {\n}\n.number-field-label-dark {\n}\n*/\n.number-field-label-error {\n color: #d32f2f;\n}\n.number-field-helper-text {\n font-style: italic;\n font-size: 0.9rem;\n padding-top: 0.5rem;\n}\n/*\n.number-field-helper-text-light {\n}\n.number-field-helper-text-dark {\n}\n*/\n.number-field-helper-text-error {\n color: #d32f2f;\n}\n","/*\n.text-field-wrapper {\n margin-bottom: 2rem;\n}\n.text-field-wrapper-light {\n}\n.text-field-wrapper-dark {\n}\n*/\n\n.text-field {\n border-radius: 0.25rem;\n box-sizing: border-box;\n padding: 0.5rem;\n width: 100%;\n}\n.text-field:focus-visible {\n outline: none;\n border: 1px solid #1976d2;\n}\n.text-field-light {\n background-color: #fff;\n color: #333;\n border: 1px solid #ccc;\n}\n.text-field-dark {\n background-color: #333;\n border: 1px solid #666;\n color: #fff;\n}\n.text-field-error {\n border: 1px solid #d32f2f;\n}\n.text-field-label {\n font-weight: bold;\n display: block;\n margin: 0 0 1rem 0;\n}\n/*\n.text-fiel-label-light {\n}\n.text-field-label-dark {\n}\n*/\n.text-field-label-error {\n color: #d32f2f;\n}\n.text-field-helper-text {\n font-style: italic;\n font-size: 0.9rem;\n margin-top: 0.5rem;\n}\n/*\n.text-field-helper-text-light {\n}\n.text-field-helper-text-dark {\n}\n*/\n.text-field-helper-text-error {\n color: #d32f2f;\n}\n",".loader {\n border-radius: 50%;\n width: 40px;\n height: 40px;\n animation: spin 1s linear infinite;\n}\n\n.loader-light {\n border: 10px solid #f3f3f3;\n border-top: 10px solid #3498db;\n}\n\n.loader-dark {\n border: 10px solid #333;\n border-top: 10px solid #3498db;\n}\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n} \n",".header {\n align-items: flex-start;\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n padding: 0.5rem;\n width: 100%;\n}\n\n.header-light {\n background-color: #ddd;\n}\n\n.header-dark {\n background-color: #222;\n}\n\n.header-info {\n padding: 0.5rem;\n width: 100%;\n}\n.header-info-light {\n background-color: #ddd;\n color: #000;\n}\n.header-info-dark {\n background-color: #222;\n color: #fff;\n}\n",".canvas-wrapper {\n background-size: contain;\n background-repeat: no-repeat;\n position: relative;\n}\n\n.rois-wrapper {\n margin-top: 1rem;\n}\n",".form {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n",".shapes-table {\n border-collapse: collapse;\n width: 100%;\n}\n\n.shapes-table tr {\n cursor: pointer;\n}\n\n.shapes-table th {\n padding: .8rem .3rem;\n text-align: left;\n}\n\n.shapes-table td {\n padding: 0 .3rem;\n}\n\n.shapes-table tr td:last-child,\n.shapes-table tr th:last-child {\n text-align: right;\n}\n\n.shapes-table-light {\n background-color: #eee;\n color: #000;\n}\n\n.shapes-table-dark {\n background-color: #333;\n color: #fff;\n}\n\n.shapes-row-selected-light {\n background-color: #ccc;\n}\n\n.shapes-row-selected-dark {\n background-color: #666;\n}\n\n.shapes-row-even-light {\n background-color: #f7f7f7;\n}\n\n.shapes-row-even-dark {\n background-color: #444;\n}\n\n.shapes-row-odd-light {\n background-color: #f0f0f0;\n}\n\n.shapes-row-odd-dark {\n background-color: #555;\n}\n\n.shapesTableName {\n display: flex;\n align-items: center;\n}\n\n.shapesTableColor {\n border: 1px solid #000;\n box-sizing: border-box;\n display: inline-block;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n margin-right: .5rem;\n}\n",".colorpickerWrapper {\n display: flex;\n flex-wrap: nowrap;\n gap: .2rem;\n}\n\n.colorpicker-button {\n box-sizing: border-box;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n cursor: pointer;\n}\n\n.colorpicker-button-active {\n border: 2px solid red;\n}\n",".toolbar {\n align-items: center;\n display: flex;\n padding: .5rem;\n}\n\n.toolbar-light {\n background-color: #eee;;\n}\n\n.toolbar-dark {\n background-color: #333;\n}\n\n.toolbar-helper {\n padding: .5rem;\n}\n\n.toolbar-helper-light {\n background-color: #f7f7f7;;\n color: #000;\n}\n\n.toolbar-helper-dark {\n background-color: #222;\n color: #fff;\n}\n\n.toolbar-spacer {\n height: 20px;\n margin: 0 .5rem;\n width: 1px;\n}\n\n.toolbar-spacer-light {\n background-color: #ccc;\n}\n\n.toolbar-spacer-dark {\n background-color: #555;\n}\n",".top-bar {\n align-items: center;\n display: flex;\n gap: .5rem;\n justify-content: flex-end;\n margin-bottom: .5rem;\n}\n\n.main-parameters-view {\n padding: 1rem;\n}\n.main-parameters-view-light {\n background-color: #eee;\n}\n.main-parameters-view-dark {\n background-color: #333;\n color: #fff;\n}\n\n.main-parameters-button {\n display: flex;\n justify-content: flex-end;\n}\n\n"]}