@abidibo/react-cam-roi 0.6.0 → 0.8.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,8 @@ export type RoiEditorProps = {
61
61
  onSubmit: (data: Output) => void
62
62
  // initial imported data
63
63
  initialData?: Output
64
+ // allow partial save: no error notified but errors are returned
65
+ allowPartialSave?: boolean
64
66
  }
65
67
 
66
68
  export const enum ToolEnum {
@@ -153,7 +155,10 @@ export interface OutputRoi {
153
155
  }
154
156
  export interface Output {
155
157
  parameters: OutputParameter[]
158
+ presetName: string
159
+ presetDescription: string
156
160
  rois: OutputRoi[]
161
+ errors?: string[]
157
162
  }
158
163
  ```
159
164
 
@@ -297,7 +302,7 @@ You can customize many aspects of this library by using the `UiProvider`.
297
302
  - You can define custom strings used here and there (some strings require one or more placeholders).
298
303
  - You can enable logs in the console by setting the `enableLogs` option to `true`.
299
304
 
300
- ``` tsx
305
+ ```tsx
301
306
  import IconButton from '@mui/material/IconButton'
302
307
  import { UiProvider, RoiEditor } from 'react-cam-roi'
303
308
 
@@ -335,7 +340,8 @@ type UiContextType = {
335
340
  EnumField: typeof EnumField // field used for enum input (options filled in parameter definition)
336
341
  Button: typeof Button // button
337
342
  notify: INotify // function used to display notifications
338
- strings: { // strings used here and there
343
+ strings: {
344
+ // strings used here and there
339
345
  cancel: string
340
346
  cannotDrawMorePoints: string
341
347
  cannotDrawMorePolygons: string
@@ -344,15 +350,10 @@ type UiContextType = {
344
350
  id: string
345
351
  invalidSubmission: string
346
352
  mainParametersMetadata: string
353
+ missingPresetName: string
347
354
  missingRequiredValuesInMainParameters: string
348
355
  missingRequiredValuesInShapeParameters: string // with {id} placeholder
349
356
  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
357
  name: string
357
358
  point: string
358
359
  pointHelpText: string
@@ -362,9 +363,17 @@ type UiContextType = {
362
363
  polylineHelpText: string
363
364
  pointer: string
364
365
  pointerHelpText: string
366
+ presetDescription: string
367
+ presetName: string
365
368
  rect: string
366
369
  rectHelpText: string
367
370
  requiredField: string
371
+ roiMultiplicityEqRule: string // with {role}, {type} and {threshold} placeholder
372
+ roiMultiplicityGtRule: string // with {role}, {type} and {threshold} placeholder
373
+ roiMultiplicityGteRule: string // with {role}, {type} and {threshold} placeholder
374
+ roiMultiplicityLtRule: string // with {role}, {type} and {threshold} placeholder
375
+ roiMultiplicityLteRule: string // with {role}, {type} and {threshold} placeholder
376
+ roiMultiplicityNoRule: string // with {role}, {type}
368
377
  roisToBeDrawn: string
369
378
  role: string
370
379
  save: string
@@ -505,6 +514,7 @@ type AnnotateIconProps = {
505
514
  style?: React.CSSProperties
506
515
  }
507
516
  ```
517
+
508
518
  #### SaveIcon
509
519
 
510
520
  ##### Interface
@@ -531,12 +541,12 @@ type TextFieldProps = {
531
541
  required?: boolean
532
542
  readOnly?: boolean
533
543
  disabled?: boolean
544
+ fullWidth?: boolean
534
545
  }
535
546
  ```
536
547
 
537
548
  ##### Classes
538
549
 
539
-
540
550
  - `react-cam-roi-text-field-wrapper`
541
551
  - `react-cam-roi-text-field-wrapper-light`
542
552
  - `react-cam-roi-text-field-wrapper-dark`
@@ -658,7 +668,6 @@ type EnumFieldProps = {
658
668
  - `react-cam-roi-enum-field-helper-text-dark`
659
669
  - `react-cam-roi-enum-field-helper-text-error`
660
670
 
661
-
662
671
  #### Button
663
672
 
664
673
  ##### Interface
@@ -682,8 +691,9 @@ type ButtonProps = {
682
691
 
683
692
  ### Functions
684
693
 
685
- ``` ts
686
- type INotify = { // compatible with toast (react-toastify)
694
+ ```ts
695
+ type INotify = {
696
+ // compatible with toast (react-toastify)
687
697
  info: (message: string) => void
688
698
  warn: (message: string) => void
689
699
  error: (message: string) => void
@@ -710,6 +720,12 @@ There are components that cannot be overridden. But still you can use classes to
710
720
  - `react-cam-roi-main-parameters-button-light`
711
721
  - `react-cam-roi-main-parameters-button-dark`
712
722
 
723
+ #### ROIs editor wrapper
724
+
725
+ - `react-cam-roi-rois-wrapper`
726
+ - `react-cam-roi-rois-wrapper-light`
727
+ - `react-cam-roi-rois-wrapper-dark`
728
+
713
729
  #### Canvas wrapper
714
730
 
715
731
  - `react-cam-roi-canvas-wrapper`
@@ -783,16 +799,16 @@ In order to start developing just run the storybook, then make changes to code a
783
799
  In order to test the library in onother local react project you can:
784
800
 
785
801
  ```bash
786
- $ cd react-cam-roi
787
- $ yarn link
788
- $ cd ../my-project
789
- $ yarn link @abidibo/react-cam-roi
802
+ cd react-cam-roi
803
+ yarn link
804
+ cd ../my-project
805
+ yarn link @abidibo/react-cam-roi
790
806
  ```
791
807
 
792
808
  Then rebuild this library to see your changes in the project.
793
809
 
794
810
  ## CI
795
811
 
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/).
812
+ A github action pipeline is provided, which is triggered by every push to the main branch.
813
+ 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
814
  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"]}