iobroker.javascript 5.2.11 → 5.2.16

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/lib/consts.js CHANGED
@@ -60,7 +60,7 @@ const monthShort = {
60
60
  'it': ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'],
61
61
  'zh-cn': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
62
62
  };
63
- const astroList = ['sunrise', 'sunset', 'sunriseEnd', 'sunsetStart', 'dawn', 'dusk', 'nauticalDawn', 'nauticalDusk', 'nadir', 'nightEnd', 'night', 'goldenHourEnd', 'goldenHour'];
63
+ const astroList = ['sunrise', 'sunset', 'sunriseEnd', 'sunsetStart', 'dawn', 'dusk', 'nauticalDawn', 'nauticalDusk', 'nadir', 'nightEnd', 'night', 'goldenHourEnd', 'goldenHour', 'solarNoon'];
64
64
  const astroListLow = astroList.map(str => str.toLowerCase());
65
65
 
66
66
  module.exports = {
@@ -334,8 +334,8 @@ declare global {
334
334
 
335
335
  /** Configures this state as an alias for another state */
336
336
  alias?: {
337
- /** The target state id */
338
- id: string;
337
+ /** The target state id or two target states used for reading and writing values */
338
+ id: string | { read: string; write: string };
339
339
  /** An optional conversion function when reading, e.g. `"(val − 32) * 5/9"` */
340
340
  read?: string;
341
341
  /** An optional conversion function when reading, e.g. `"(val * 9/5) + 32"` */
package/lib/mirror.js CHANGED
@@ -37,8 +37,7 @@ class Mirror {
37
37
  try {
38
38
  fs.mkdirSync(this.diskRoot);
39
39
  } catch (e) {
40
- this.log.error(`Cannot create directory ${this.diskRoot}: ${e}`);
41
- return;
40
+ return this.log.error(`Cannot create directory ${this.diskRoot}: ${e}`);
42
41
  }
43
42
  }
44
43
 
@@ -65,18 +64,34 @@ class Mirror {
65
64
  files.forEach(file => {
66
65
  const name = path.join(root_, file).replace(/\\/g, '/');
67
66
  const stat = fs.statSync(name);
68
- stat.isDirectory() && this.watchFolders(name);
67
+
68
+ if (stat.isDirectory()) {
69
+ this.watchFolders(name);
70
+ } else {
71
+ const lstat = fs.lstatSync(name);
72
+ if (!lstat.isSymbolicLink()) {
73
+ return;
74
+ }
75
+
76
+ const linkTarget = fs.realpathSync(name);
77
+
78
+ this.log.info(`Watch symlinked file ${name} -> ${linkTarget}`);
79
+ fs.watch(linkTarget, (eventType/*, _filename*/) => {
80
+ // Pretend the symlink source was changed.
81
+ this.log.debug(`File ${name} ${eventType}`);
82
+ this.onFileChange(eventType, name);
83
+ });
84
+ }
69
85
  });
70
86
  } catch (err) {
71
- this.log.warn(`Error while trying to watch folder ${root_}: ${err}`);
72
- return;
87
+ return this.log.warn(`Error while trying to watch folder ${root_}: ${err}`);
73
88
  }
74
89
 
75
90
  if (!this.watchedFolder[root_]) {
76
91
  this.log.info('Watch ' + root_);
77
- this.watchedFolder[root_] = fs.watch(root_, (eventType, filename) => {
78
- this.log.debug('File ' + root_ + filename + ' ' + eventType);
79
- this.onFileChange(eventType, root_ + filename);
92
+ this.watchedFolder[root_] = fs.watch(root_, (eventType, fileName) => {
93
+ this.log.debug(`File ${root_}${fileName} ${eventType}`);
94
+ this.onFileChange(eventType, root_ + fileName);
80
95
  });
81
96
 
82
97
  this.watchedFolder[root_].on('error', err => {
@@ -221,7 +236,7 @@ class Mirror {
221
236
 
222
237
  for (let o = objects.length - 1; o >= 0; o--) {
223
238
  // if folder
224
- if (this.dbList[dirDB + '.' + objects[o]].type === 'channel') {
239
+ if (this.dbList[dirDB + '.' + objects[o]] && this.dbList[dirDB + '.' + objects[o]].type === 'channel') {
225
240
  // dive into
226
241
  const nextPathDisk = JSON.parse(JSON.stringify(pathDisk));
227
242
  nextPathDisk.push(objects[o]);
@@ -411,14 +426,14 @@ class Mirror {
411
426
  if (this.dbList[id].common.source !== source) {
412
427
  this.dbList[id].common.source = source;
413
428
  this.dbList[id].ts = ts;
414
- this.log.debug('Update script ' + id + ' in DB');
429
+ this.log.debug(`Update script ${id} in DB`);
415
430
  this.dbList[id].from = this.from;
416
431
  this.adapter.setForeignObject(id, this.dbList[id]);
417
432
  } else {
418
433
  this.dbList[id].ts = ts;
419
434
  }
420
435
  } else {
421
- this.log.debug('Create script ' + id + ' in DB');
436
+ this.log.debug(`Create script ${id} in DB`);
422
437
  const parts = id.split('.');
423
438
  // new script
424
439
  this.dbList[id] = {
@@ -440,7 +455,7 @@ class Mirror {
440
455
  this.adapter.setForeignObject(id, this.dbList[id]);
441
456
  }
442
457
  } catch (e) {
443
- this.log.error('Cannot read file ' + file + ': ' + e);
458
+ this.log.error(`Cannot read file ${file}: ${e}`);
444
459
  }
445
460
  } else if (event === 'delete' || event === 'rename') {
446
461
  // there is a bug: just after creation of script on disk from ioBroker, "rename" event is generated!
@@ -479,10 +494,10 @@ class Mirror {
479
494
 
480
495
  if (fs.existsSync(file)) {
481
496
  try {
482
- this.log.debug('Delete ' + file + ' on disk');
497
+ this.log.debug(`Delete ${file} on disk`);
483
498
  fs.unlinkSync(file);
484
499
  } catch (e) {
485
- this.log.error('Cannot delete ' + file + ': ' + e);
500
+ this.log.error(`Cannot delete ${file}: ${e}`);
486
501
  }
487
502
  }
488
503
  if (this.diskList[id]) {
package/lib/sandbox.js CHANGED
@@ -409,16 +409,11 @@ function sandBox(script, name, verbose, debug, context) {
409
409
  return mods[md];
410
410
  } else {
411
411
  try {
412
- mods[md] = require(`${__dirname}/../node_modules/${md}`);
412
+ mods[md] = require(md);
413
413
  return mods[md];
414
414
  } catch (e) {
415
- try {
416
- mods[md] = require(`${__dirname}/../../${md}`);
417
- return mods[md];
418
- } catch (e) {
419
- adapter.setState('scriptProblem.' + name.substring('script.js.'.length), true, true);
420
- context.logError(name, e, 6);
421
- }
415
+ adapter.setState('scriptProblem.' + name.substring('script.js.'.length), true, true);
416
+ context.logError(name, e, 6);
422
417
  }
423
418
  }
424
419
  },
package/lib/scheduler.js CHANGED
@@ -109,18 +109,18 @@ class Scheduler {
109
109
 
110
110
  checkSchedule(context, schedule) {
111
111
  if (schedule.valid) {
112
- if (schedule.valid.from && !this.isPast(schedule.valid.from) && !this.isToday(schedule.valid.from)) {
112
+ if (schedule.valid.from && !this.isPast(context, schedule.valid.from) && !this.isToday(context, schedule.valid.from)) {
113
113
  return;
114
114
  }
115
115
  // "to" this.Date is in the past => delete it from list
116
- if (schedule.valid.to && this.isPast(schedule.valid.to)) {
116
+ if (schedule.valid.to && this.isPast(context, schedule.valid.to)) {
117
117
  delete this.list[schedule.id];
118
118
  return;
119
119
  }
120
120
  }
121
121
  if (schedule.period) {
122
- if (schedule.period.once && !this.isToday(schedule.period.once)) {
123
- if (this.isPast(schedule.period.once)) {
122
+ if (schedule.period.once && !this.isToday(context, schedule.period.once)) {
123
+ if (this.isPast(context, schedule.period.once)) {
124
124
  delete this.list[schedule.id];
125
125
  }
126
126
  return;
@@ -90,7 +90,7 @@ function resolveTypings(pkg, wrapInDeclareModule) {
90
90
  const ret = {};
91
91
 
92
92
  // We need to look at `import/export ... from 'modulename'` and `/// <reference path='...' />`
93
- const importDtsRegex = /(?:import|export) .+ from ["'](\.+\/[^"']+)["']/g;
93
+ const importDtsRegex = /^\s*(?:import|export) .+ from ["'](\.+\/[^"']+)["']/g;
94
94
  const pathReferenceRegex = /\/\/\/ <reference path=["']([^"']+)["'] \/>/g;
95
95
  const matchAllImports = string => [
96
96
  ...matchAll(importDtsRegex, string),
package/main.js CHANGED
@@ -410,7 +410,7 @@ function startAdapter(options) {
410
410
  }
411
411
 
412
412
  const n = getName(id);
413
- let nn = context.objects[id].common.name;
413
+ let nn = context.objects[id].common ? context.objects[id].common.name : '';
414
414
 
415
415
  if (nn && typeof nn === 'object') {
416
416
  nn = nn[words.getLanguage()] || nn.en;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.javascript",
3
- "version": "5.2.11",
3
+ "version": "5.2.16",
4
4
  "description": "Rules Engine for ioBroker",
5
5
  "author": "bluefox <dogafox@gmail.com>",
6
6
  "contributors": [
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@iobroker/adapter-core": "^2.5.1",
33
- "@types/node": "^12.20.24",
33
+ "@types/node": "^14.17.33",
34
34
  "@types/request": "^2.48.7",
35
35
  "coffee-compiler": "^0.3.2",
36
36
  "coffee-script": "^1.12.7",
@@ -40,34 +40,49 @@
40
40
  "request": "^2.88.2",
41
41
  "semver": "^7.3.5",
42
42
  "suncalc2": "^1.8.1",
43
- "typescript": "^4.4.2",
43
+ "typescript": "^4.5.2",
44
44
  "virtual-tsc": "^0.6.1",
45
45
  "wake_on_lan": "^1.0.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@alcalzone/release-script": "^2.2.1",
48
+ "@alcalzone/release-script": "^3.4.1",
49
+ "@alcalzone/release-script-plugin-iobroker": "^3.4.1",
50
+ "@alcalzone/release-script-plugin-license": "^3.4.1",
49
51
  "@types/iobroker": "^3.3.4",
50
- "alcalzone-shared": "^4.0.0",
52
+ "alcalzone-shared": "^4.0.1",
51
53
  "chai": "^4.3.4",
52
54
  "del": "^6.0.0",
53
55
  "eslint": "^7.32.0",
54
56
  "gulp": "^4.0.2",
55
57
  "gulp-rename": "^2.0.0",
56
58
  "gulp-replace": "^1.1.3",
57
- "mocha": "^9.1.1",
59
+ "mocha": "^9.1.3",
58
60
  "timekeeper": "^2.2.0"
59
61
  },
60
62
  "bugs": {
61
63
  "url": "https://github.com/ioBroker/ioBroker.javascript/issues"
62
64
  },
63
65
  "main": "main.js",
66
+ "files": [
67
+ "admin/",
68
+ "lib/",
69
+ "docs/",
70
+ "install/",
71
+ "lib/",
72
+ "io-package.json",
73
+ "LICENSE",
74
+ "main.js"
75
+ ],
64
76
  "scripts": {
65
77
  "test:declarations": "tsc -p test/lib/TS/tsconfig.json && tsc -p test/lib/JS/tsconfig.json",
66
78
  "test:javascript": "node node_modules/mocha/bin/mocha --exit",
67
79
  "test": "npm run test:declarations && npm run test:javascript",
68
80
  "postinstall": "node ./install/installTypings.js",
69
- "prepublishOnly": "node node_modules/gulp/bin/gulp.js",
81
+ "prepublishOnly1": "node node_modules/gulp/bin/gulp.js",
70
82
  "build": "node node_modules/gulp/bin/gulp.js",
71
- "release": "release-script"
83
+ "release": "release-script",
84
+ "release-patch": "release-script patch --yes",
85
+ "release-minor": "release-script minor --yes",
86
+ "release-major": "release-script major --yes"
72
87
  }
73
88
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack://src/index.css","webpack://src/Components/RulesEditor/style.module.scss","webpack://src/Components/RulesEditor/components/CardMenu/style.module.scss","webpack://src/Components/RulesEditor/components/CurrentItem/style.module.scss","webpack://src/Components/RulesEditor/components/GenericBlock/style.module.scss","webpack://src/Components/RulesEditor/components/CustomButton/style.module.scss","webpack://src/Components/RulesEditor/components/CustomCheckbox/style.module.scss","webpack://src/Components/RulesEditor/components/CustomInput/style.module.scss","webpack://src/Components/RulesEditor/components/CustomModal/style.module.scss","webpack://src/Components/RulesEditor/components/CustomSelect/style.module.scss","webpack://src/Components/RulesEditor/components/CustomSlider/style.module.scss","webpack://src/Components/RulesEditor/components/CustomSwitch/style.module.scss","webpack://src/Components/RulesEditor/components/CustomTime/style.module.scss","webpack://src/Components/RulesEditor/components/CustomDate/style.module.scss","webpack://src/Components/RulesEditor/components/ContentBlockItems/style.module.scss","webpack://src/Components/RulesEditor/components/DragWrapper/style.module.scss","webpack://src/Components/RulesEditor/components/Menu/style.module.scss","webpack://src/Components/RulesEditor/components/HamburgerMenu/hamburgerMenu.module.scss","webpack://src/Components/RulesEditor/helpers/stylesVariables.scss"],"names":[],"mappings":"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","file":"main.1a464464.chunk.css","sourcesContent":["html {\n width: 100%;\n height: 100%;\n}\n\nbody {\n overflow: hidden;\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n}\n\n#root {\n width: 100%;\n height: 100%;\n}\n#___reactour > div:first-of-type {\n opacity: 0.4;\n}\n.layout-pane-primary {\n height: 100%\n}\n\n.blocklyToolboxDiv {\n /*left: -180px !important;*/\n left: 0 !important;\n width: 180px;\n top: 0 !important;\n height: 100% !important;\n}\n\n.no-underline:before {\n border-bottom: 0 !important;\n}\n.monaco-aria-container {\n top: 0;\n}\n\n.iobVerticalSplitter .layout-pane-primary {\n overflow: hidden;\n}\n\n.monacoCurrentLine {\n background: #59fd8c;\n}\n.monacoCurrentLineDark {\n background: #165b2c;\n}\n.monacoCurrentFullLine {\n background: #cbffdc;\n opacity: 0.7;\n}\n.monacoCurrentFullLineDark {\n background: #0e3b1f;\n opacity: 0.7;\n}\n.monacoBreakPointDark {\n background: #800000;\n border-radius: 50%;\n width: 16px !important;\n height: 16px !important;\n margin-left: 4px;\n}\n.monacoBreakPoint {\n background: #d71a1a;\n border-radius: 50%;\n width: 16px !important;\n height: 16px !important;\n margin-left: 4px;\n}",".wrapperRules {\n background: linear-gradient(0deg, var(--backgroundGlobalColor), var(--backgroundGlobalColor)),\n url(\"https://klike.net/uploads/posts/2020-04/1586763579_24.jpg\");\n background-repeat: no-repeat;\n background-size: cover;\n height: 100%;\n display: flex;\n}\n.rootWrapper {\n display: flex;\n width: 100%;\n}\n.addClass {\n flex-direction: column;\n height: auto;\n overflow: auto;\n}\n@media screen and (max-width: 835px) {\n .rootWrapper {\n flex-direction: column;\n height: auto;\n overflow: auto;\n }\n}\n",".switchesItem {\n max-width: 200px;\n width: auto;\n display: flex;\n margin: 5px 0;\n padding: 12px 0;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0);\n transition: all 0.7s;\n color: var(--colorInput);\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n margin-left: 15px;\n color: var(--lineColorActive);\n white-space: nowrap;\n }\n &:hover {\n border: 1px solid var(--lineColor);\n color: var(--lineColorHover);\n border-radius: 6px;\n background: var(--backgroundColor);\n cursor: pointer;\n }\n}\n.switchesItemActive {\n border: 1px solid var(--lineColor);\n color: var(--lineColorHover);\n border-radius: 6px;\n background: var(--backgroundColor);\n cursor: pointer;\n}\n.iconTheme {\n width: 30px !important;\n height: 30px !important;\n margin-left: 5px;\n * {\n color: var(--lineColorActive) !important;\n }\n}\n",".cardStyle {\n cursor: pointer;\n position: relative;\n min-width: 200px;\n width: calc(100% - 72px);\n height: fit-content;\n min-height: 70px;\n display: flex;\n padding: 10px;\n margin: 23px 12px 4px 12px;\n align-items: center;\n background: #ffffff6b;\n border-radius: 4px;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n}\n.cardStyleActive {\n width: 300px;\n z-index: 100;\n}\n.controlMenu {\n display: flex;\n position: absolute;\n right: -31px;\n width: 30px;\n height: 100%;\n transition: opacity 0.5s;\n}\n.closeBtn {\n width: 20px;\n height: 20px;\n border-radius: 20px;\n position: relative;\n z-index: 1;\n margin: 5px auto;\n cursor: pointer;\n &:before {\n content: \"+\";\n color: #f7060684;\n position: absolute;\n z-index: 2;\n transform: rotate(45deg);\n font-size: 30px;\n line-height: 1;\n top: -6px;\n left: 2px;\n transition: all 0.3s cubic-bezier(0.77, 0, 0.2, 0.85);\n }\n &:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 100%;\n background: var(--backgroundColorHumburger);\n z-index: 1;\n transition: all 0.3s cubic-bezier(0.77, 0, 0.2, 0.85);\n transform: scale(0.01);\n }\n &:hover:after {\n transform: scale(1);\n }\n &:hover:before {\n transform: scale(0.8) rotate(45deg);\n color: #fff;\n }\n}\n.isDelete {\n height: 0;\n min-height: 0;\n overflow: hidden;\n padding: 0 10px;\n margin: 0 12px 0 12px;\n transition: all 0.25s;\n background: rgb(255, 255, 255);\n opacity: 0.8;\n box-shadow: 0 0 10px rgb(106 204 255);\n}\n@media screen and (max-width: 835px) {\n .controlMenu {\n opacity: 1 !important;\n }\n}\n.drag_mobile {\n display: none;\n}\n@media screen and (max-width: 600px) {\n .drag_mobile {\n display: flex;\n width: 30px;\n height: 20px;\n background: repeating-linear-gradient(\n 180deg,\n var(--lineColorActive),\n var(--lineColorActive) 4px,\n var(--backgroundColorHumburger) 4px,\n var(--backgroundColorHumburger) 8px\n );\n border: 1px solid var(--lineColorActive);\n border-radius: 5px 0 0 0;\n position: absolute;\n top: 0;\n left: 0;\n cursor: pointer;\n }\n}\n","@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 1% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n\n.cardStyle {\n cursor: pointer;\n position: relative;\n min-width: 200px;\n width: calc(100% - 72px);\n height: fit-content;\n min-height: 70px;\n display: flex;\n padding: 10px;\n margin: 23px 12px 4px 12px;\n align-items: center;\n background: var(--backgroundBlock);\n border-radius: 4px;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14),\n 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n}\n.nameCard {\n margin-top: 0;\n font-size: 19px;\n color: var(--colorBlock);\n font-weight: 500;\n}\n.cardStyleActive {\n width: 300px;\n z-index: 100;\n}\n.iconThemCard {\n width: 40px !important;\n height: 40px !important;\n margin-left: 5px;\n * {\n color: var(--colorBlock) !important;\n }\n}\n.iconThemCardSelectable {\n cursor: pointer;\n}\n.iconHelp {\n color: var(--colorBlock) !important;\n position: absolute !important;\n top: 0;\n right: 5px;\n}\n.inputCard {\n margin-top: 10px !important;\n}\n.blockName {\n margin-left: 10px;\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n}\n.controlMenu {\n display: flex;\n position: absolute;\n right: -31px;\n width: 30px;\n height: 100%;\n transition: opacity 0.5s;\n}\n.closeBtn {\n width: 20px;\n height: 20px;\n border-radius: 20px;\n position: relative;\n z-index: 1;\n margin: 5px auto;\n cursor: pointer;\n &:before {\n content: \"+\";\n color: #f7060684;\n position: absolute;\n z-index: 2;\n transform: rotate(45deg);\n font-size: 30px;\n line-height: 1;\n top: -6px;\n left: 2px;\n transition: all 0.3s cubic-bezier(0.77, 0, 0.2, 0.85);\n }\n &:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 100%;\n background: #994e9e7d;\n z-index: 1;\n transition: all 0.3s cubic-bezier(0.77, 0, 0.2, 0.85);\n transform: scale(0.01);\n }\n &:hover:after {\n transform: scale(1);\n }\n &:hover:before {\n transform: scale(0.8) rotate(45deg);\n color: #fff;\n }\n}\n.controlMenuTop {\n display: flex;\n position: absolute;\n left: 0;\n width: 100%;\n overflow: hidden;\n transition: opacity 0.5s, height 0.5s, top 0.5s;\n}\n.debugInfo {\n font-size: 12px;\n font-style: italic;\n color: var(--debugColor);\n position: absolute;\n display: flex;\n opacity: 0;\n animation: fadeIn 0.3s ease-out;\n}\n.tagCard {\n text-align: center;\n color: var(--lineColorActive);\n min-width: 100px;\n padding: 0 2px;\n height: 22px;\n background: var(--backgroundColorHumburger);\n border-radius: 5px 5px 0 0;\n position: relative;\n margin-left: auto;\n margin-right: 8px;\n cursor: pointer;\n border-top: 1px solid var(--lineColor);\n border-left: 1px solid var(--lineColor);\n border-right: 1px solid var(--lineColor);\n font-size: 12px;\n padding-top: 2px;\n}\n.displayFlex {\n display: flex;\n align-items: center;\n}\n.blockMarginTop,\n.nameBlock {\n margin-top: 7px;\n}\n.frontText {\n margin-right: 7px;\n min-width: 80px;\n display: inline-table;\n}\n.backText {\n margin-left: 7px;\n}\n.iconTag {\n font-size: 40px;\n color: var(--colorBlock);\n display: flex;\n align-items: center;\n min-width: 40px;\n margin-bottom: 10px;\n margin-left: 12px;\n}\n.displayItalic {\n font-style: italic;\n font-size: 11px;\n margin-top: 0;\n}\n",".root {\n color: var(--colorBlock) !important;\n border-color: var(--colorBlock) !important;\n &:hover {\n border-color: var(--colorBlockHover) !important;\n color: var(--colorBlockHover) !important;\n background-color: inherit !important;\n }\n}\n.square{\n min-width: auto !important;\n padding: 6px 16px !important;\n}\n.icon {\n width: 24px;\n height: 24px;\n}",".root {\n * {\n color: var(--colorBlock) !important;\n }\n}\n",".root {\n background: var(--backgroundColorHumburger);\n border-radius: 5px;\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n * {\n color: var(--colorInput) !important;\n }\n [class*=\"MuiInputLabel-shrink\"] {\n color: var(--colorBlock) !important;\n }\n [class*=\"MuiInput-underline\"] {\n :after {\n border-bottom-color: var(--lineColor) !important;\n }\n }\n &:hover {\n [class*=\"MuiOutlinedInput-notchedOutline\"] {\n border-color: var(--lineColor) !important;\n }\n }\n [class*=\"MuiOutlinedInput-notchedOutline\"] {\n border-color: var(--lineColor) !important;\n &:hover {\n border-color: var(--lineColor) !important;\n }\n [class*=\"Mui-focused\"] {\n border-color: var(--lineColor) !important;\n }\n [class*=\"Mui-disabled\"] {\n border-color: var(--lineColor) !important;\n }\n }\n}\n\n.icon {\n\n}\n",".modalContentWrapper {\n margin: 20px 0;\n padding: 0 35px;\n overflow-x: hidden;\n min-width: 320px;\n}\n.modalButtonBlock {\n display: flex;\n justify-content: flex-end;\n margin-top: 20px;\n flex-flow: wrap;\n border-top: 1px solid var(--lineColorActive);\n border-color: var(--lineColorActive);\n background: var(--backgroundColorHumburger);\n border-radius: 3;\n & button {\n color: var(--lineColorActive) !important;\n flex: 1;\n }\n}\n.modalButtonBlockTwo {\n justify-content: space-around;\n flex-flow: wrap-reverse;\n position: sticky;\n bottom: 0;\n & button {\n margin: 5px;\n }\n}\n.modalWrapper {\n position: relative;\n [class*=\"MuiPaper-root MuiDialog-paper MuiPaper-elevation24 MuiDialog-paperScrollPaper MuiDialog-paperWidthXl MuiPaper-elevation24 MuiPaper-rounded\"] {\n background-color: #f6f6f6;\n }\n}\n.modalDialog {\n min-width: 400px;\n}\n.close {\n position: absolute;\n right: -14px;\n top: -16px;\n width: 32px;\n height: 32px;\n opacity: 0.9;\n cursor: pointer;\n transition: all 0.6s ease;\n &:hover {\n transform: rotate(90deg);\n }\n &:before {\n position: absolute;\n left: 15px;\n content: \"\";\n height: 33px;\n width: 4px;\n background-color: #ff4f4f;\n transform: rotate(45deg);\n }\n &:after {\n position: absolute;\n left: 15px;\n content: \"\";\n height: 33px;\n width: 4px;\n background-color: #ff4f4f;\n transform: rotate(-45deg);\n }\n}\n@media screen and (max-width: 460px) {\n .modalContentWrapper {\n min-width: auto;\n }\n}\n",".root {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n max-width: 440px;\n * {\n color: var(--colorBlock) !important;\n }\n [class*=\"MuiInputLabel-shrink\"] {\n color: var(--colorBlock) !important;\n }\n [class*=\"MuiInput-underline\"] {\n &:after {\n border-bottom-color: var(--lineColor) !important;\n }\n &:before {\n border-bottom-color: var(--lineColor) !important;\n }\n &:hover {\n &:before {\n border-bottom-color: var(--lineColor) !important;\n }\n }\n }\n}\n",".root {\n color: var(--lineColorActive) !important;\n height: 8px !important;\n [class*=\"MuiSlider-rail\"] {\n height: 8px !important;\n border-radius: 4px;\n }\n [class*=\"MuiSlider-track\"] {\n height: 8px !important;\n border-radius: 4px;\n }\n [class*=\"MuiSlider-valueLabel\"] {\n left: calc(-50% + 4px);\n }\n [class*=\"MuiSlider-thumb\"] {\n height: 24px;\n width: 24px;\n background-color: var(--colorBlock);\n border: 2px solid currentColor;\n margin-top: -8px;\n margin-left: -12px;\n &:focus,\n &:hover,\n &[class*=\"MuiSlider-active\"] {\n box-shadow: inherit !important;\n }\n }\n .mark {\n background-color: #00000000 !important;\n }\n}\n\n",".root {\n * {\n color: var(--colorBlock) !important;\n }\n [class*=\"Mui-checked\"] {\n color: var(--lineColor) !important;\n }\n [class*=\"Mui-checked\"] + [class*=\"MuiSwitch-track\"] {\n background-color: var(--lineColor) !important;\n }\n}\n",".root {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n * {\n color: var(--colorBlock) !important;\n }\n [class*=\"MuiInputLabel-shrink\"] {\n color: var(--colorBlock) !important;\n }\n [class*=\"MuiInput-underline\"] {\n &:after {\n border-bottom-color: var(--lineColor) !important;\n }\n &:before {\n border-bottom-color: var(--lineColor) !important;\n }\n &:hover {\n &:before {\n border-bottom-color: var(--lineColor) !important;\n }\n }\n }\n}\n",".root {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n * {\n color: var(--colorBlock) !important;\n }\n [class*=\"MuiInputLabel-shrink\"] {\n color: var(--colorBlock) !important;\n }\n [class*=\"MuiInput-underline\"] {\n &:after {\n border-bottom-color: var(--lineColor) !important;\n }\n &:before {\n border-bottom-color: var(--lineColor) !important;\n }\n &:hover {\n &:before {\n border-bottom-color: var(--lineColor) !important;\n }\n }\n }\n}\n",".border {\n border-left: 1px solid var(--lineColor);\n border-right: 1px solid var(--lineColor);\n}\n.emptyBlockStyle {\n cursor: pointer;\n width: auto;\n background: #ffffff1f;\n display: flex;\n // padding: 10px;\n margin: 10px 40px 10px 10px;\n align-items: center;\n border-radius: 4px;\n // transition: height 0.2s;\n}\n.emptyBlock {\n padding: 10px;\n // height: 76px;\n margin-top: 10px;\n animation: marginTop 0.12s;\n // transition: margin-top 0.1s;\n}\n.selectOnChange {\n margin-left: 12px;\n color: var(--lineColor) !important;\n width: calc(100% - 42px);\n}\n.selectOnChangeHelp {\n color: var(--lineColor);\n vertical-align: middle;\n cursor: pointer;\n}\n.selectOnChangeHelpIcon {\n color: var(--lineColor);\n}\n@keyframes marginTop {\n 0% {\n padding: 0;\n margin-top: 70px;\n height: 0;\n }\n 100% {\n padding: 10px;\n margin-top: 10px;\n // height: 100%;\n }\n}\n.emptyBlockNone {\n height: 0;\n animation: none;\n transition: height 0.02s;\n}\n\n.mainBlockItemRules {\n display: flex;\n flex: 1 3;\n flex-direction: column;\n transition: all 0.5s;\n z-index: 9;\n overflow: auto;\n .nameBlockItems {\n color: var(--lineColor);\n margin-top: 10px;\n width: 100%;\n display: flex;\n height: fit-content;\n justify-content: center;\n align-items: center;\n }\n}\n.contentBlockItem {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: auto;\n transition: height 0.3s, background 0.5s;\n}\n\n.wrapperMargin {\n margin: auto 0;\n display: flex;\n flex-direction: column;\n}\n.contentHeightOn {\n animation: heightBlock 0.3s;\n}\n@keyframes heightBlock {\n 0% {\n height: 0;\n }\n 100% {\n height: 100%;\n }\n}\n.contentHeightOff {\n height: 0;\n overflow: hidden;\n animation: none;\n}\n.cardAdd {\n display: flex;\n align-items: center;\n text-align: center;\n margin: 0 10px;\n width: 100%;\n color: var(--lineColor);\n &::after,\n &::before {\n content: \"\";\n flex: 1;\n border-bottom: 1px solid;\n }\n &::after {\n margin-left: 0.25em;\n }\n &::before {\n margin-right: 0.25em;\n }\n}\n.blockCardAdd {\n display: flex;\n padding: 0 10px 6px 10px;\n align-items: center;\n color: white;\n cursor: pointer;\n * {\n color: #ffffffb3;\n }\n}\n.addClassOverflow {\n overflow: initial;\n}\n.addClassHeight {\n min-height: 300px;\n}\n@media screen and (max-width: 835px) {\n .mainBlockItemRules {\n overflow: initial;\n }\n .contentBlockItem {\n min-height: 300px;\n }\n .contentHeightOff {\n min-height: 0;\n transition: min-height 0.3s;\n }\n .contentHeightOn {\n transition: min-height 0.3s;\n }\n .border {\n border-left: initial;\n border-right: initial;\n }\n}\n",".drag {\n width: 32px;\n height: 22px;\n position: absolute;\n top: 23px;\n left: 12px;\n z-index: 1;\n cursor: pointer;\n}\n.root {\n position: relative;\n}\n",".menuRules {\n width: 200px;\n display: flex;\n flex-direction: column;\n background: var(--backgroundColor);\n border-right: 1px solid var(--lineColor);\n padding: 10px;\n opacity: 1;\n overflow-x: hidden;\n transition: width 0.5s, opacity 0.2s, padding 0.5s, background 0.2s, border-right 0.2s;\n}\n.switchesRenderWrapper {\n overflow-x: hidden;\n overflow-y: auto;\n direction: rtl;\n span {\n direction: ltr;\n }\n}\n.menuOff {\n width: 0;\n opacity: 0;\n padding: 0;\n}\n.menuTitle {\n display: flex;\n align-items: center;\n text-align: center;\n color: var(--lineColor);\n white-space: nowrap;\n transition: color 0.2s;\n &::after,\n &::before {\n content: \"\";\n flex: 1;\n border-bottom: 1px solid;\n }\n}\n.marginAuto {\n margin-top: auto;\n margin-bottom: 20px;\n}\n.inputWidth {\n margin-top: 0 !important;\n margin-bottom: 5px !important;\n}\n.menuWrapper {\n display: flex;\n height: 100%;\n}\n.hamburgerWrapper {\n position: absolute;\n width: 32px;\n height: 26px;\n background: var(--backgroundColorHumburger);\n border-radius: 0 5px 5px 0;\n display: flex;\n justify-content: center;\n padding-top: 10px;\n left: 221px;\n top: 30px;\n border: 1px solid var(--lineColor);\n cursor: pointer;\n transition: left 0.5s, border-radius 0.7s, width 0.7s, height 0.7s, background 0.2s, border 0.2s;\n z-index: 10;\n}\n.hamburgerOff {\n left: 20px;\n padding-top: 12px;\n border-radius: 20px;\n width: 40px;\n height: 28px;\n}\n.nothingFound {\n color: var(--lineColor);\n margin: 16px;\n font-size: 21px;\n transition: color 0.2s;\n}\n.resetSearch {\n font-weight: bold;\n color: var(--lineColor);\n cursor: pointer;\n margin: 10px 0;\n transition: color 0.3s, font-size 0.3s;\n &:hover {\n color: var(--lineColorHover);\n font-size: 22px;\n }\n}\n.controlPanel {\n display: flex;\n align-items: center;\n width: 200px;\n button {\n width: calc(100% / 3);\n min-width: auto;\n color: var(--lineColor);\n transition: color 0.2s;\n }\n .controlPanelAppBar {\n background: none;\n box-shadow: none;\n }\n [class*=\"Mui-selected\"] {\n color: var(--lineColorActive) !important;\n }\n [class*=\"MuiTabs-indicator\"] {\n background-color: var(--lineColorActive);\n }\n [class*=\"Mui-disabled\"] {\n color: #210025cc !important;\n }\n}\n.addClassMenu {\n position: absolute;\n z-index: 12;\n top: 0;\n}\n.addClassBackground {\n background: var(--backgroundMobile);\n}\n.addClassPosition {\n position: sticky;\n top: 0;\n left: 0;\n z-index: 2222;\n}\n@media screen and (max-width: 1035px) {\n .menuWrapper {\n position: absolute;\n z-index: 12;\n top: 0;\n }\n .menuRules {\n background: var(--backgroundMobile);\n }\n}\n@media screen and (max-width: 835px) {\n .menuRules {\n position: sticky;\n top: 0;\n left: 0;\n z-index: 2222;\n }\n}\n","$bar-width: 20px;\n$bar-height: 2px;\n$bar-spacing: 7px;\n\n.menu_wrapper {\n outline: 0;\n outline-offset: 0;\n margin-top: 12px;\n\tcursor: pointer;\n}\n\n.hamburgerMenu,\n.hamburgerMenu:after,\n.hamburgerMenu:before {\n width: $bar-width;\n\theight: $bar-height;\n}\n\n.hamburgerMenu {\n\tposition: relative;\n\ttransform: translateY($bar-spacing);\n\tbackground: var(--lineColorActive);\n\ttransition: all 0ms 300ms;\n \n &.animate {\n background: #dfbdec00; \n }\n}\n\n.hamburgerMenu:before {\n\tcontent: \"\";\n\tposition: absolute;\n\tleft: 0;\n\tbottom: $bar-spacing;\n\tbackground: var(--lineColorActive);\n\ttransition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.hamburgerMenu:after {\n\tcontent: \"\";\n\tposition: absolute;\n\tleft: 0;\n\ttop: $bar-spacing;\n\tbackground: var(--lineColorActive);\n\ttransition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.hamburgerMenu.animate:after {\n\ttop: 0;\n\ttransform: rotate(45deg);\n\ttransition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;\n}\n\n.hamburgerMenu.animate:before {\n\tbottom: 0;\n\ttransform: rotate(-45deg);\n\ttransition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;\n}\n.menu_conatiner_wrapper{\n display: none;\n}\n","$themeStandard: (\n --backgroundColor: #3052813b,\n --lineColor: #4caaf47d,\n --lineColorHover: #ccceff,\n --lineColorActive: #4caaf4,\n --backgroundColorHumburger: #436a93b8,\n --colorBlock: #02124b,\n --colorBlockHover: #02124b8c,\n --colorInput: #02124b,\n --backgroundBlock: #c9e7ffab,\n --backgroundGlobalColor: #ffffff00,\n --backgroundMobile: #041c35d4,\n --debugColor: #c6511b\n);\n$themeGreen: (\n --backgroundColor: #3081333b,\n --lineColor: #4cf4577d,\n --lineColorHover: #cdffcc,\n --lineColorActive: #4ff44c,\n --backgroundColorHumburger: #439346b8,\n --colorBlock: #024b04,\n --colorBlockHover: #024b048c,\n --colorInput: #024b04,\n --backgroundBlock: #c9ffcfab,\n --backgroundGlobalColor: #51ff001b,\n --backgroundMobile: #3081333b,\n --debugColor: #c6511b\n);\n$themeSilver: (\n --backgroundColor: rgba(31, 31, 31, 0.23),\n --lineColor: #f3f3f37d,\n --lineColorHover: #a0a0a0,\n --lineColorActive: #dedede,\n --backgroundColorHumburger: #3e3e3eb8,\n --colorBlock: #080808,\n --colorBlockHover: #0808088c,\n --colorInput: #ddd,\n --backgroundBlock: #c1c1c1ab,\n --backgroundGlobalColor: rgba(28, 28, 28, 0.93),\n --backgroundMobile: #040303eb,\n --debugColor: #c6511b\n);\n$themeLight: (\n --backgroundColor: #3131313b,\n --lineColor: #0001257d,\n --lineColorHover: #a0a0a0,\n --lineColorActive: #07002f,\n --backgroundColorHumburger: #333542a3,\n --colorBlock: #090929,\n --colorBlockHover: #c7c6c68c,\n --colorInput: #090929,\n --backgroundBlock: #000000,\n --backgroundGlobalColor: #ffffff40,\n --backgroundMobile: #b4b2c7bf,\n --debugColor: #c6511b\n);\n@mixin spread-map($map: ()) {\n @each $key, $value in $map {\n #{$key}: $value;\n }\n}\n:root.blue {\n @include spread-map($themeStandard);\n}\n:root.colored {\n @include spread-map($themeStandard);\n}\n:root.dark {\n @include spread-map($themeSilver);\n}\n:root.light {\n @include spread-map($themeLight);\n}"]}