cloudcmd 19.20.4 → 19.20.6

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/ChangeLog CHANGED
@@ -1,3 +1,16 @@
1
+ 2026.09.15, v19.20.6
2
+
3
+ fix:
4
+ - 83961343 cloudcmd: client: all jpg files are opened with text viewer (#477)
5
+
6
+ 2026.09.04, v19.20.5
7
+
8
+ fix:
9
+ - 05fa6499 path traversal
10
+
11
+ feature:
12
+ - d25108ff cloudcmd: cssnano-preset-default v9.0.1
13
+
1
14
  2026.08.26, v19.20.4
2
15
 
3
16
  feature:
package/HELP.md CHANGED
@@ -1,4 +1,4 @@
1
- # Cloud Commander v19.20.4
1
+ # Cloud Commander v19.20.6
2
2
 
3
3
  ### [Main][MainURL] [Blog][BlogURL] [Demo][DemoURL] [Deploy](#deploy)
4
4
 
@@ -1122,6 +1122,8 @@ There are a lot of ways to be involved in `Cloud Commander` development:
1122
1122
 
1123
1123
  ## Version history
1124
1124
 
1125
+ - *2026.09.15*, **[v19.20.6](//github.com/coderaiser/cloudcmd/releases/tag/v19.20.6)**
1126
+ - *2026.09.04*, **[v19.20.5](//github.com/coderaiser/cloudcmd/releases/tag/v19.20.5)**
1125
1127
  - *2026.08.26*, **[v19.20.4](//github.com/coderaiser/cloudcmd/releases/tag/v19.20.4)**
1126
1128
  - *2026.08.26*, **[v19.20.3](//github.com/coderaiser/cloudcmd/releases/tag/v19.20.3)**
1127
1129
  - *2026.08.25*, **[v19.20.2](//github.com/coderaiser/cloudcmd/releases/tag/v19.20.2)**
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Cloud Commander v19.20.4 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] [![Deploy on InstaPods][DeployInstaPodsIMG]][DeployInstaPodsURL]
1
+ # Cloud Commander v19.20.6 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL] [![Deploy on InstaPods][DeployInstaPodsIMG]][DeployInstaPodsURL]
2
2
 
3
3
  ### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL]
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"cloudcmd.common.css","sources":["file://cloudcmd//Users/coderaiser/cloudcmd/css/reset.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/urls.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/style.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/icons.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/help.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/query.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/supports.css","file://cloudcmd//Users/coderaiser/cloudcmd/node_modules/supermenu/css/supermenu.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/view.css","file://cloudcmd//Users/coderaiser/cloudcmd/node_modules/@cloudcmd/modal/css/modal.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/config.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/terminal.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/user-menu.css","file://cloudcmd//Users/coderaiser/cloudcmd/node_modules/smalltalk/css/smalltalk.css"],"sourcesContent":["/* =============================================================================\n Base\n ========================================================================== */\n\n/*\n * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units\n * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g\n */\n\nhtml {\n color: #222;\n}\n\nbody {\n margin: 0;\n}\n","/*\n@import url(//fonts.googleapis.com/css?family=Droid+Sans+Mono);\n*/\n\n/* http://fontello.com/ */\n@font-face {\n font-family: 'Fontello';\n src: url(../font/fontello.eot);\n src:\n url(../font/fontello.eot?#iefix) format('embedded-opentype'),\n url(../font/fontello.woff2) format('woff2'),\n url(../font/fontello.woff) format('woff'),\n url(../font/fontello.ttf) format('truetype'),\n url(../font/fontello.svg#cloudcmd) format('svg');\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Droid Sans Mono';\n src: url(https://themes.googleusercontent.com/static/fonts/droidsansmono/v5/ns-m2xQYezAtqh7ai59hJTwtzT4qNq-faudv5qbO9-U.eot);\n src:\n local('Droid Sans Mono'),\n local('DroidSansMono'),\n url(../font/DroidSansMono.eot) format('embedded-opentype'),\n url(https://themes.googleusercontent.com/static/fonts/droidsansmono/v5/ns-m2xQYezAtqh7ai59hJTwtzT4qNq-faudv5qbO9-U.eot?#iefix)\n format('embedded-opentype'),\n url(https://themes.googleusercontent.com/static/fonts/droidsansmono/v5/ns-m2xQYezAtqh7ai59hJTwtzT4qNq-faudv5qbO9-U.eot)\n format('embedded-opentype'),\n url(../font/DroidSansMono.woff2) format('woff2'),\n url(../font/DroidSansMono.woff) format('woff'),\n url(https://themes.googleusercontent.com/static/fonts/droidsansmono/v5/ns-m2xQYezAtqh7ai59hJUYuTAAIFFn5GTWtryCmBQ4.woff)\n format('woff'),\n local('Consolas');\n font-style: normal;\n font-weight: 400;\n}\n\n.directory {\n background-image: url(../img/directory.png);\n}\n\n.directory-link {\n background-image: url(../img/directory-link.png);\n}\n\n.file {\n background-image: url(../img/file.png);\n}\n\n.file-link {\n background-image: url(../img/file-link.png);\n}\n\n.archive {\n background-image: url(../img/archive.png);\n}\n\n.archive-link {\n background-image: url(../img/archive-link.png);\n}\n\n.loading-svg {\n background: url(../img/spinner.svg);\n}\n\n.loading-gif {\n background: url(../img/spinner.gif);\n}\n","html {\n height: 94%;\n}\n\nbody {\n width: 100%;\n height: 95%;\n overflow: hidden;\n background-color: var(--background);\n}\n\nbody,\npre,\ncode {\n font-family: 'Droid Sans Mono', 'Ubuntu Mono', 'Consolas', monospace;\n font-size: 16px;\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.none {\n display: none;\n}\n\n.fm,\n.keyspanel {\n cursor: default;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.links {\n -webkit-user-select: initial;\n -moz-user-select: initial;\n -ms-user-select: initial;\n -o-user-select: initial;\n user-select: text;\n color: var(--column-color);\n}\n\n.panel,\n.cmd-button {\n border: 1px solid;\n border-color: var(--border-color);\n}\n\n.icon {\n margin-left: 0.5%;\n cursor: default;\n}\n\n.icon:hover {\n cursor: default;\n}\n\n.path-icon {\n position: relative;\n color: var(--icon-color);\n}\n\n.path-icon:active {\n top: 1px;\n}\n\n.path-icon:hover {\n color: #06e;\n cursor: pointer;\n}\n\n.error::before {\n font-family: 'Fontello';\n font-size: 14px;\n color: rgb(222 41 41);\n cursor: default;\n content: '\\e800';\n}\n\n.loading {\n position: relative;\n display: inline-block;\n width: 16px;\n height: 16px;\n vertical-align: middle;\n}\n\n.loading::after {\n position: relative;\n bottom: 5px;\n left: 16px;\n font-size: 10px;\n color: var(--link-color);\n content: attr(data-progress);\n}\n\n.cmd-button {\n width: 5%;\n height: 30px;\n margin: 20px 2px 0;\n color: var(--icon-color);\n background-color: var(--button-background);\n transition: ease 0.1s;\n}\n\n.cmd-button:hover {\n border: 1px solid;\n transition: ease 0.5s;\n}\n\n.cmd-button:active {\n color: white;\n background-color: var(--link-color);\n transition: ease 0.1s;\n}\n\n.cmd-button:focus {\n outline: 0;\n}\n\na {\n text-decoration: none;\n}\n\na:hover,\na:active {\n color: #06e;\n text-decoration: none;\n}\n\n.links a {\n color: red;\n}\n\n.mini-icon {\n position: relative;\n top: 2px;\n /* отступ перед картинкой\n * для нормального отображения\n * рамки\n */\n left: -5px;\n float: left;\n width: 16px;\n height: 16px;\n margin-left: 6px;\n}\n\n.fm {\n width: 98%;\n height: 90%;\n margin: 26px auto 0;\n}\n\n.fm-header {\n font-weight: bold;\n color: var(--column-color);\n}\n\n.panel-left {\n float: left;\n}\n\n.current-file {\n box-shadow: 0 0 0 1px var(--border-color) inset;\n}\n\n.cut-file {\n opacity: 0.7;\n}\n\n.name {\n float: left;\n width: 26%;\n}\n\n.name a {\n color: var(--link-color);\n}\n\n.name a:hover {\n cursor: default;\n}\n\n.selected-file,\n.selected-file > span,\n.selected-file .name > a {\n color: rgb(254 159 224);\n}\n\n.panel-right {\n float: right;\n}\n\n.panel {\n width: 46%;\n height: 98%;\n padding: 1%;\n}\n\n.panel-single {\n width: 98%;\n}\n\n.selected-panel {\n border-color: rgb(254 159 224 / 40%);\n}\n\n.keyspanel {\n text-align: center;\n}\n\n.size {\n float: left;\n width: 12%;\n margin-right: 27px;\n text-align: right;\n color: var(--column-color);\n}\n\n.date {\n float: left;\n width: 19%;\n color: var(--column-color);\n}\n\n.time {\n color: var(--column-color);\n display: none;\n}\n\n.owner {\n display: inline-block;\n width: 12%;\n \n /* when inline-block\n * vertical align should be\n * set top to prevent additional\n * spaces behind lines\n */\n vertical-align: top;\n color: var(--column-color);\n}\n\n.mode {\n float: right;\n width: 22%;\n color: var(--column-color);\n}\n\n.reduce-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.files {\n height: 95%;\n padding: 0;\n margin: 0;\n overflow-y: auto;\n list-style-type: none;\n -webkit-overflow-scrolling: touch;\n}\n\n.files li {\n overflow: hidden;\n}\n",".icon-help::before {\n font-family: 'Fontello';\n content: '\\e801 ';\n}\n\n.icon-rename::before {\n font-family: 'Fontello';\n content: '\\e802 ';\n}\n\n.icon-view::before {\n font-family: 'Fontello';\n content: '\\e803 ';\n}\n\n.icon-edit::before {\n font-family: 'Fontello';\n content: '\\e804 ';\n}\n\n.icon-copy::before {\n font-family: 'Fontello';\n content: '\\e805 ';\n}\n\n.icon-move::before {\n font-family: 'Fontello';\n content: '\\e806 ';\n}\n\n.icon-directory::before {\n font-family: 'Fontello';\n content: '\\e807 ';\n}\n\n.icon-delete::before {\n font-family: 'Fontello';\n content: '\\e808 ';\n}\n\n.icon-menu::before {\n font-family: 'Fontello';\n content: '\\e809 ';\n}\n\n.icon-config::before {\n font-family: 'Fontello';\n content: '\\e80a ';\n}\n\n.icon-console::before {\n font-family: 'Fontello';\n content: '\\e80b ';\n}\n\n.icon-contact::before {\n font-family: 'Fontello';\n content: '\\e80c ';\n}\n\n.icon-file::before {\n font-family: 'Fontello';\n content: '\\e80d ';\n}\n\n.icon-upload-to-cloud::before {\n font-family: 'Fontello';\n content: '\\e80e ';\n}\n\n.icon-upload-from-cloud::before {\n font-family: 'Fontello';\n content: '\\e80f ';\n}\n\n.icon-download::before {\n font-family: 'Fontello';\n content: '\\e810 ';\n}\n\n.icon-new::before {\n font-family: 'Fontello';\n content: '\\e811 ';\n}\n\n.icon-toggle-file-selection::before {\n font-family: 'Fontello';\n content: '\\e81f ';\n}\n\n.icon-unselect-all::before {\n font-family: 'Fontello';\n content: '\\e812 ';\n}\n\n.icon-pack::before {\n font-family: 'Fontello';\n content: '\\e813 ';\n}\n\n.icon-extract::before {\n font-family: 'Fontello';\n content: '\\e814 ';\n}\n\n.icon-copy-to-clipboard::before {\n font-family: 'Fontello';\n content: '\\e815 ';\n}\n\n.icon-refresh::before {\n font-family: 'Fontello';\n content: '\\e816 ';\n}\n\n.icon-cut::before {\n font-family: 'Fontello';\n content: '\\e817 ';\n}\n\n.icon-paste::before {\n font-family: 'Fontello';\n content: '\\e818 ';\n}\n\n.icon-upload::before {\n font-family: 'Fontello';\n content: '\\e819 ';\n}\n\n.icon-log-out::before {\n font-family: 'Fontello';\n content: '\\e81a ';\n}\n\n.icon-terminal::before {\n font-family: 'Fontello';\n content: '\\e81b ';\n}\n\n.icon-user-menu::before {\n font-family: 'Fontello';\n content: '\\e81c ';\n}\n",".help {\n margin: 25px;\n white-space: normal;\n}\n\n.help li {\n list-style-type: disc;\n}\n\n.help img {\n max-width: 100%;\n}\n","@media only screen and (width >= 1600px) {\n .name {\n width: 40%;\n }\n \n .size {\n width: 10%;\n }\n \n .date {\n width: 15%;\n }\n \n .owner {\n width: 12%;\n }\n \n .mode {\n width: 15%;\n }\n}\n\n:root {\n --min-one-panel-width: 1155px;\n --is-mobile: 0;\n}\n\n@media only screen and (height <= 900px) and (width <= 600px) {\n .fm {\n height: 85%;\n }\n \n .files {\n height: 90%;\n }\n}\n\n@media only screen and (height >= 550px) and (width <= 600px) {\n .fm {\n height: 80%;\n }\n \n .files {\n height: 90%;\n }\n}\n\n@media only screen and (height <= 750px) and (width <= 600px) {\n .fm {\n height: 75%;\n }\n}\n\n@media only screen and (height <= 450px) and (width <= 600px) {\n .fm {\n height: 75%;\n }\n}\n\n@media only screen and (width <= 600px) {\n :root {\n --is-mobile: 1;\n }\n}\n\n@media only screen and (height <= 550px) and (width <= 600px) {\n .fm {\n height: 65%;\n }\n}\n\n@media only screen and (height <= 550px) and (width <= 550px) {\n .fm {\n height: 70%;\n }\n}\n\n@media only screen and (height >= 850px) and (width >= 650px) {\n .fm {\n height: 95%;\n }\n}\n\n@media only screen and (height <= 850px) {\n .files {\n height: 90%;\n }\n}\n\n@media only screen and (height <= 700px) and (width >= 600px) {\n .fm {\n height: 85%;\n }\n \n .files {\n height: 90%;\n }\n}\n\n@media only screen and (height <= 450px) {\n .fm {\n height: 65%;\n }\n}\n\n@media only screen and (height <= 640px) and (width <= 360px) {\n .fm {\n height: 75%;\n }\n \n .files {\n height: 90%;\n }\n}\n\n/* iphone 6 landscape */\n@media only screen and (device-width >= 375px) and (device-width <= 667px) and (orientation: landscape),\n only screen and (height <= 360px) and (width <= 640px) {\n .fm {\n height: 55%;\n }\n \n .files {\n height: 60%;\n }\n}\n\n@media only screen and (width <= 600px) {\n .panel {\n font-size: 26px;\n }\n \n /* текущий файл под курсором */\n .current-file {\n background-color: var(--border-color);\n color: white;\n }\n /* делаем иконки под курсом белыми */\n .current-file a {\n color: white;\n }\n \n .file::before {\n color: rgb(26 224 124 / 56%);\n content: '\\e80d';\n }\n \n .file-link::before {\n color: rgb(26 224 124 / 56%);\n content: '\\e81d';\n }\n \n /* меняем иконки на шрифтовые */\n .mini-icon {\n color: rgb(246 224 124 / 56%);\n font: 16px 'Fontello';\n background-image: none;\n padding: 1%;\n }\n \n .size,\n .date,\n .owner,\n .time,\n .mode {\n display: none !important;\n }\n \n .name {\n width: 90%;\n display: inline-block;\n }\n \n .directory::before {\n content: '\\e807';\n }\n \n .directory-link::before {\n content: '\\e81e';\n }\n \n .file,\n .file-link {\n background-image: none;\n }\n \n .archive,\n .archive-link {\n background-image: none;\n }\n \n .archive::before,\n .archive-link {\n color: rgb(26 224 124 / 56%);\n content: '\\e81d';\n }\n \n /* убираем заголовок */\n .fm-header {\n display: none;\n }\n \n /* выводим заголовки рядом с полями */\n .cmd-button {\n width: 20%;\n }\n}\n\n@media only screen and (width >= 601px) and (width <= 785px) {\n .cmd-button {\n width: 13%;\n }\n}\n\n@media only screen and (width >= 786px) and (width <= 1155px) {\n .cmd-button {\n width: 10%;\n }\n}\n\n@media only screen and (width <= 1155px) {\n .panel {\n width: 98%;\n }\n /* если правая панель не помещаеться - прячем её */\n .panel-right,\n .cmd-button#f5,\n .cmd-button#f6 {\n display: none;\n }\n}\n\n@media print {\n .panel {\n width: 94%;\n margin: 0;\n padding: 0;\n border: none;\n }\n \n .keyspanel,\n .panel-right {\n display: none;\n }\n \n .files {\n overflow-y: visible;\n }\n \n .current-file {\n box-shadow: 0 0;\n }\n \n .path-icon {\n display: none;\n }\n \n .mini-icon {\n display: none;\n }\n}\n","@supports (overflow: overlay) {\n .files {\n overflow-y: auto;\n }\n \n .fm-header {\n overflow-y: hidden;\n }\n}\n",".menu-hidden {\n display: none;\n}\n\n.menu {\n position : absolute;\n z-index : 2;\n padding : 0;\n font-size : 14px;\n list-style : none;\n color : #222;\n background : rgb(255 255 255);\n background : rgb(255 255 255 / 90%);\n border-color : rgb(49 123 249);\n border-color : rgb(49 123 249 / 40%);\n border-style : solid;\n border-width : 1px;\n border-radius : 5px;\n -webkit-user-select : none;\n -moz-user-select : none;\n -ms-user-select : none;\n -o-user-select : none;\n user-select : none;\n}\n\n.menu-button {\n background: white;\n border: 0;\n}\n\n.menu-item {\n position: relative;\n padding: 3px 20px;\n white-space: pre;\n}\n\n.menu-item::after {\n content: attr(data-key);\n float: right;\n}\n\n.menu-item:hover, .menu-item-selected {\n background-color: #e3f2ff;\n}\n\n.menu-item > .menu {\n top: 0;\n left: 100%;\n display: none;\n}\n\n.menu-item:hover > .menu {\n display: block;\n}\n\n.menu-submenu > label::after {\n display: block;\n float: right;\n width: 0;\n height: 0;\n margin-top: 3px;\n margin-right: -10px;\n border-color: transparent;\n border-left-color: rgb(49 123 249);\n border-style: solid;\n border-width: 5px 0 5px 5px;\n content: ' ';\n}\n",".view {\n font-size: 16px;\n white-space: pre;\n height: 100%;\n overflow: auto;\n}\n\n.view:focus {\n outline: 0;\n}\n\n.view::selection {\n text-shadow: none;\n background: #b3d4fc;\n}\n\n.view-overlay {\n display: block;\n background: rgb(255 255 255 / 10%);\n}\n\n.media,\nvideo {\n width: 100%;\n}\n\naudio {\n margin-top: 10px;\n}\n",".modal-main {\n display: flex;\n flex-direction: column;\n z-index: 1;\n width: 100%;\n height: 100%;\n position: fixed;\n top: 0;\n left: 0;\n}\n\n.modal-child {\n height: calc(100% - 40px);\n background: #f9f9f9;\n margin: 20px;\n z-index: 10;\n box-shadow: 0 10px 25px rgb(0 0 0 / 50%);\n position: relative;\n}\n\n.modal-close {\n position: absolute;\n top: -16px;\n right: -16px;\n width: 36px;\n height: 36px;\n cursor: pointer;\n z-index: 1234567890;\n background-image: url(../img/close.svg);\n}\n\n.modal-autosize {\n align-items: center;\n justify-content: center;\n min-height: min-content;\n}\n\n.modal-autosize .modal-child {\n height: auto;\n}\n\n.modal-is-title {\n height: calc(100% - 40px);\n}\n\n.modal-image {\n max-width: 100%;\n max-height: calc(100vh - 60px);\n display: block;\n}\n\n.modal-nav {\n position: absolute;\n top: 0;\n width: 40%;\n height: 100%;\n cursor: pointer;\n text-decoration: none;\n background: transparent;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n}\n\n.modal-nav-left {\n left: 0;\n}\n\n.modal-nav-right {\n right: 0;\n}\n\n.modal-nav span {\n position: absolute;\n top: 50%;\n width: 36px;\n height: 36px;\n margin-top: -18px;\n cursor: pointer;\n z-index: 123456789;\n visibility: hidden;\n}\n\n.modal-nav-left span {\n left: 10px;\n background-image: url(../img/left.svg);\n}\n\n.modal-nav-right span {\n right: 10px;\n background-image: url(../img/right.svg);\n}\n\n.modal-nav:hover span {\n visibility: visible;\n}\n\n.modal-title {\n position: absolute;\n bottom: 0;\n right: 50%;\n margin-bottom: -35px;\n z-index: 8050;\n text-align: center;\n}\n\n.modal-title-text {\n display: inline-block;\n font-size: 13px;\n margin-right: -100%;\n padding: 2px 20px;\n background: rgb(0 0 0 / 80%);\n text-shadow: 0 1px 2px #222;\n color: #fff;\n font-weight: 700;\n line-height: 24px;\n white-space: nowrap;\n}\n",".config {\n white-space: normal;\n overflow: hidden;\n width: 250px;\n}\n\n.list li {\n list-style-type: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.config .form-control {\n width: 200px;\n padding: 0 12px;\n font-size: 16px;\n line-height: 1.5;\n color: var(--column-color);\n background: var(--internal-background);\n border: 1px solid #ccc;\n -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 7.5%);\n -moz-box-shadow: inset 0 1px 1px rgb(0 0 0 / 7.5%);\n box-shadow: inset 0 1px 1px rgb(0 0 0 / 7.5%);\n -webkit-transition:\n border-color ease-in-out 0.15s,\n box-shadow ease-in-out 0.15s;\n -moz-transition:\n border-color ease-in-out 0.15s,\n box-shadow ease-in-out 0.15s;\n -o-transition:\n border-color ease-in-out 0.15s,\n box-shadow ease-in-out 0.15s;\n transition:\n border-color ease-in-out 0.15s,\n box-shadow ease-in-out 0.15s;\n}\n\n.config .form-control::-moz-placeholder {\n color: #999;\n}\n\n.config .form-control::-ms-input-placeholder {\n color: #999;\n}\n\n.config .form-control::-webkit-input-placeholder {\n color: #999;\n}\n\n.config .form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow:\n inset 0 1px 1px rgb(0 0 0 / 7.5%),\n 0 0 1px rgb(102 175 233 / 60%);\n -moz-box-shadow:\n inset 0 1px 1px rgb(0 0 0 / 7.5%),\n 0 0 1px rgb(102 175 233 / 60%);\n box-shadow:\n inset 0 1px 1px rgb(0 0 0 / 7.5%),\n 0 0 1px rgb(102 175 233 / 60%);\n}\n\n.config .form-control:focus:invalid:focus {\n border-color: #e9322d;\n -webkit-box-shadow: 0 0 6px #f8b9b7;\n -moz-box-shadow: 0 0 6px #f8b9b7;\n box-shadow: 0 0 6px #f8b9b7;\n}\n\n.config .list {\n padding: 0;\n margin: 5%;\n}\n\n.config .full-width {\n width: 100%;\n}\n",".terminal {\n height: 100%;\n}\n",".cloudcmd-user-menu {\n font-size: 16px;\n font-family: 'Droid Sans Mono', 'Ubuntu Mono', 'Consolas', monospace;\n border: 0;\n}\n\n.cloudcmd-user-menu:focus {\n outline: 0;\n}\n\n.cloudcmd-user-menu > option:checked {\n box-shadow: 20px -20px 0 2px var(--selected-menu-item-color) inset;\n}\n\n.cloudcmd-user-menu-button {\n display: block;\n width: 100%;\n font-size: 16px;\n padding: 2px;\n -webkit-appearance: none;\n border: 0;\n overflow: auto;\n}\n",".smalltalk {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n transition: 200ms opacity;\n inset: 0;\n overflow: auto;\n padding: 20px;\n position: fixed;\n z-index: 100;\n}\n\n.smalltalk + .smalltalk {\n transition: ease 1s;\n}\n\n.smalltalk .page {\n border-radius: 3px;\n background: white;\n box-shadow: 0 4px 23px 5px rgb(0 0 0 / 20%), 0 2px 6px rgb(0 0 0 / 15%);\n color: #333;\n min-width: 400px;\n padding: 0;\n position: relative;\n z-index: 0;\n}\n\n@media only screen and (width <= 500px) {\n .smalltalk .page {\n min-width: 0;\n }\n}\n\n.smalltalk .page > .close-button {\n background-image: url(../img/IDR_CLOSE_DIALOG.png);\n background-position: center;\n background-repeat: no-repeat;\n height: 14px;\n position: absolute;\n right: 7px;\n top: 7px;\n width: 14px;\n z-index: 1;\n}\n\n.smalltalk .page > .close-button:hover {\n background-image: url(../img/IDR_CLOSE_DIALOG_H.png);\n}\n\n.smalltalk .progress {\n display: block;\n width: 100%;\n}\n\n.smalltalk .page header {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 500px;\n user-select: none;\n color: #333;\n font-size: 120%;\n font-weight: bold;\n margin: 0;\n padding: 14px 17px;\n text-shadow: white 0 1px 2px;\n}\n\n.smalltalk .page .content-area {\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 6px 17px;\n position: relative;\n}\n\n.smalltalk .page .action-area {\n padding: 14px 17px;\n}\n\nbutton {\n font-family: 'Ubuntu', 'Arial', sans-serif;\n}\n\n.smalltalk button, .smalltalk .smalltalk {\n min-height: 2em;\n min-width: 4em;\n}\n\n.smalltalk button {\n appearance: none;\n user-select: none;\n background-image: linear-gradient(#ededed, #ededed 38%, #dedede);\n border: 1px solid rgb(0 0 0 / 25%);\n border-radius: 2px;\n box-shadow: 0 1px 0 rgb(0 0 0 / 8%), inset 0 1px 2px rgb(255 255 255 / 75%);\n color: #444;\n font: inherit;\n margin: 0 1px 0 0;\n text-shadow: 0 1px 0 rgb(240 240 240);\n}\n\n.smalltalk button::-moz-focus-inner {\n border: 0;\n}\n\n.smalltalk button:enabled:active {\n background-image: linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7);\n box-shadow: none;\n text-shadow: none;\n}\n\n.smalltalk .page .button-strip {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n}\n\n.smalltalk .page .button-strip > button {\n margin-left: 10px;\n}\n\n.smalltalk input {\n width: 100%;\n border: 1px solid #bfbfbf;\n border-radius: 2px;\n box-sizing: border-box;\n color: #444;\n font: inherit;\n margin: 0;\n min-height: 2em;\n padding: 3px;\n outline: none;\n}\n\n.smalltalk button:enabled:focus, .smalltalk input:enabled:focus {\n transition: border-color 200ms;\n border-color: rgb(77 144 254);\n outline: none;\n}\n\n"],"names":[],"mappings":"AASA,gBAIA,cCRA,yt+FAaA,kpkQAoBA,owBAIA,6zBAIA,2bAIA,wfAIA,0jBAIA,2yBAIA,g3EAIA,gmEClEA,gBAIA,8EAOA,wFAOA,0BAIA,mBAIA,8HAWA,+KASA,qEAMA,qCAKA,2BAIA,qDAKA,0BAIA,2CAKA,6FAQA,6FAQA,yHASA,wIASA,sDAKA,oFAMA,4BAIA,uBAIA,iDAMA,mBAIA,iGAcA,4CAMA,qDAKA,uBAIA,6DAIA,qBAIA,2BAKA,gCAIA,6BAIA,wEAMA,yBAIA,uCAMA,wBAIA,uCAIA,6BAIA,wFAQA,qDAMA,6CAKA,mFAaA,sDAMA,uEAMA,2GASA,0BC7QA,sDAKA,wDAKA,sDAKA,sDAKA,sDAKA,sDAKA,2DAKA,wDAKA,sDAKA,wDAKA,yDAKA,yDAKA,sDAKA,iEAKA,mEAKA,0DAKA,qDAKA,uEAKA,8DAKA,sDAKA,yDAKA,mEAKA,yDAKA,qDAKA,uDAKA,wDAKA,yDAKA,0DAKA,2DC5IA,qCAKA,8BAIA,yBCTA,uCACI,gBAIA,gBAIA,gBAIA,iBAIA,iBAKJ,iDAKA,0DACI,eAIA,mBAKJ,0DACI,eAIA,mBAKJ,0DACI,gBAKJ,0DACI,gBAKJ,sCACI,qBAKJ,0DACI,gBAKJ,0DACI,gBAKJ,0DACI,gBAKJ,uCACI,mBAKJ,0DACI,eAIA,mBAKJ,uCACI,gBAKJ,0DACI,eAIA,mBAMJ,sJAEI,eAIA,mBAKJ,sCACI,sBAKA,8DAKA,2BAIA,2CAKA,gDAMA,+EAOA,sDAQA,qCAKA,gCAIA,qCAIA,8DAUA,4DAOA,wBAKA,uBAKJ,yDACI,uBAKJ,0DACI,uBAKJ,uCACI,iBAIA,yDAOJ,aACI,gDAOA,qCAKA,0BAIA,6BAIA,oCC7PJ,6BACI,uBAIA,8BCLJ,0BAIA,sNAqBA,sCAKA,8DAMA,oDAKA,8DAIA,8CAMA,qCAIA,yLCvDA,+DAOA,sBAIA,qDAKA,iDAKA,wBAKA,sBC1BA,4GAWA,mIASA,2gGAWA,iFAMA,yCAIA,yCAIA,wEAMA,8IAWA,uBAIA,yBAIA,qIAWA,o/EAKA,8lFAKA,yCAIA,qGASA,qMCxGA,uDAMA,4FASA,yVAyBA,iGAYA,kHAcA,0FAOA,kCAKA,+BC9EA,sBCAA,uGAMA,oCAIA,qGAIA,8HCdA,6KAaA,wCAIA,wKAWA,sCACI,8BAKJ,iYAYA,kXAIA,8CAKA,4OAcA,yGAOA,gDAIA,2CAIA,qEAKA,+SAaA,6CAIA,gIAMA,wFAMA,uDAIA,sKAaA"}
1
+ {"version":3,"file":"cloudcmd.common.css","sources":["file://cloudcmd//Users/coderaiser/cloudcmd/css/reset.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/urls.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/style.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/icons.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/help.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/query.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/supports.css","file://cloudcmd//Users/coderaiser/cloudcmd/node_modules/supermenu/css/supermenu.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/view.css","file://cloudcmd//Users/coderaiser/cloudcmd/node_modules/@cloudcmd/modal/css/modal.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/config.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/terminal.css","file://cloudcmd//Users/coderaiser/cloudcmd/css/user-menu.css","file://cloudcmd//Users/coderaiser/cloudcmd/node_modules/smalltalk/css/smalltalk.css"],"sourcesContent":["/* =============================================================================\n Base\n ========================================================================== */\n\n/*\n * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units\n * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g\n */\n\nhtml {\n color: #222;\n}\n\nbody {\n margin: 0;\n}\n","/*\n@import url(//fonts.googleapis.com/css?family=Droid+Sans+Mono);\n*/\n\n/* http://fontello.com/ */\n@font-face {\n font-family: 'Fontello';\n src: url('../font/fontello.eot');\n src:\n url('../font/fontello.eot?#iefix') format('embedded-opentype'),\n url('../font/fontello.woff2') format('woff2'),\n url('../font/fontello.woff') format('woff'),\n url('../font/fontello.ttf') format('truetype'),\n url('../font/fontello.svg#cloudcmd') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Droid Sans Mono';\n src: url('https://themes.googleusercontent.com/static/fonts/droidsansmono/v5/ns-m2xQYezAtqh7ai59hJTwtzT4qNq-faudv5qbO9-U.eot');\n src:\n local('Droid Sans Mono'),\n local('DroidSansMono'),\n url('../font/DroidSansMono.eot') format('embedded-opentype'),\n url('https://themes.googleusercontent.com/static/fonts/droidsansmono/v5/ns-m2xQYezAtqh7ai59hJTwtzT4qNq-faudv5qbO9-U.eot?#iefix')\n format('embedded-opentype'),\n url('https://themes.googleusercontent.com/static/fonts/droidsansmono/v5/ns-m2xQYezAtqh7ai59hJTwtzT4qNq-faudv5qbO9-U.eot')\n format('embedded-opentype'),\n url('../font/DroidSansMono.woff2') format('woff2'),\n url('../font/DroidSansMono.woff') format('woff'),\n url('https://themes.googleusercontent.com/static/fonts/droidsansmono/v5/ns-m2xQYezAtqh7ai59hJUYuTAAIFFn5GTWtryCmBQ4.woff')\n format('woff'),\n local('Consolas');\n font-style: normal;\n font-weight: 400;\n}\n\n.directory {\n background-image: url('../img/directory.png');\n}\n\n.directory-link {\n background-image: url('../img/directory-link.png');\n}\n\n.file {\n background-image: url('../img/file.png');\n}\n\n.file-link {\n background-image: url('../img/file-link.png');\n}\n\n.archive {\n background-image: url('../img/archive.png');\n}\n\n.archive-link {\n background-image: url('../img/archive-link.png');\n}\n\n.loading-svg {\n background: url('../img/spinner.svg');\n}\n\n.loading-gif {\n background: url('../img/spinner.gif');\n}\n","html {\n height: 94%;\n}\n\nbody {\n width: 100%;\n height: 95%;\n overflow: hidden;\n background-color: var(--background);\n}\n\nbody,\npre,\ncode {\n font-family: 'Droid Sans Mono', 'Ubuntu Mono', 'Consolas', monospace;\n font-size: 16px;\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.none {\n display: none;\n}\n\n.fm,\n.keyspanel {\n cursor: default;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.links {\n -webkit-user-select: initial;\n -moz-user-select: initial;\n -ms-user-select: initial;\n -o-user-select: initial;\n user-select: text;\n color: var(--column-color);\n}\n\n.panel,\n.cmd-button {\n border: 1px solid;\n border-color: var(--border-color);\n}\n\n.icon {\n margin-left: 0.5%;\n cursor: default;\n}\n\n.icon:hover {\n cursor: default;\n}\n\n.path-icon {\n position: relative;\n color: var(--icon-color);\n}\n\n.path-icon:active {\n top: 1px;\n}\n\n.path-icon:hover {\n color: #06e;\n cursor: pointer;\n}\n\n.error::before {\n font-family: 'Fontello';\n font-size: 14px;\n color: rgb(222 41 41);\n cursor: default;\n content: '\\e800';\n}\n\n.loading {\n position: relative;\n display: inline-block;\n width: 16px;\n height: 16px;\n vertical-align: middle;\n}\n\n.loading::after {\n position: relative;\n bottom: 5px;\n left: 16px;\n font-size: 10px;\n color: var(--link-color);\n content: attr(data-progress);\n}\n\n.cmd-button {\n width: 5%;\n height: 30px;\n margin: 20px 2px 0;\n color: var(--icon-color);\n background-color: var(--button-background);\n transition: ease 0.1s;\n}\n\n.cmd-button:hover {\n border: 1px solid;\n transition: ease 0.5s;\n}\n\n.cmd-button:active {\n color: white;\n background-color: var(--link-color);\n transition: ease 0.1s;\n}\n\n.cmd-button:focus {\n outline: 0;\n}\n\na {\n text-decoration: none;\n}\n\na:hover,\na:active {\n color: #06e;\n text-decoration: none;\n}\n\n.links a {\n color: red;\n}\n\n.mini-icon {\n position: relative;\n top: 2px;\n /* отступ перед картинкой\n * для нормального отображения\n * рамки\n */\n left: -5px;\n float: left;\n width: 16px;\n height: 16px;\n margin-left: 6px;\n}\n\n.fm {\n width: 98%;\n height: 90%;\n margin: 26px auto 0;\n}\n\n.fm-header {\n font-weight: bold;\n color: var(--column-color);\n}\n\n.panel-left {\n float: left;\n}\n\n.current-file {\n box-shadow: 0 0 0 1px var(--border-color) inset;\n}\n\n.cut-file {\n opacity: 0.7;\n}\n\n.name {\n float: left;\n width: 26%;\n}\n\n.name a {\n color: var(--link-color);\n}\n\n.name a:hover {\n cursor: default;\n}\n\n.selected-file,\n.selected-file > span,\n.selected-file .name > a {\n color: rgb(254 159 224);\n}\n\n.panel-right {\n float: right;\n}\n\n.panel {\n width: 46%;\n height: 98%;\n padding: 1%;\n}\n\n.panel-single {\n width: 98%;\n}\n\n.selected-panel {\n border-color: rgb(254 159 224 / 40%);\n}\n\n.keyspanel {\n text-align: center;\n}\n\n.size {\n float: left;\n width: 12%;\n margin-right: 27px;\n text-align: right;\n color: var(--column-color);\n}\n\n.date {\n float: left;\n width: 19%;\n color: var(--column-color);\n}\n\n.time {\n color: var(--column-color);\n display: none;\n}\n\n.owner {\n display: inline-block;\n width: 12%;\n \n /* when inline-block\n * vertical align should be\n * set top to prevent additional\n * spaces behind lines\n */\n vertical-align: top;\n color: var(--column-color);\n}\n\n.mode {\n float: right;\n width: 22%;\n color: var(--column-color);\n}\n\n.reduce-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.files {\n height: 95%;\n padding: 0;\n margin: 0;\n overflow-y: auto;\n list-style-type: none;\n -webkit-overflow-scrolling: touch;\n}\n\n.files li {\n overflow: hidden;\n}\n",".icon-help::before {\n font-family: 'Fontello';\n content: '\\e801 ';\n}\n\n.icon-rename::before {\n font-family: 'Fontello';\n content: '\\e802 ';\n}\n\n.icon-view::before {\n font-family: 'Fontello';\n content: '\\e803 ';\n}\n\n.icon-edit::before {\n font-family: 'Fontello';\n content: '\\e804 ';\n}\n\n.icon-copy::before {\n font-family: 'Fontello';\n content: '\\e805 ';\n}\n\n.icon-move::before {\n font-family: 'Fontello';\n content: '\\e806 ';\n}\n\n.icon-directory::before {\n font-family: 'Fontello';\n content: '\\e807 ';\n}\n\n.icon-delete::before {\n font-family: 'Fontello';\n content: '\\e808 ';\n}\n\n.icon-menu::before {\n font-family: 'Fontello';\n content: '\\e809 ';\n}\n\n.icon-config::before {\n font-family: 'Fontello';\n content: '\\e80a ';\n}\n\n.icon-console::before {\n font-family: 'Fontello';\n content: '\\e80b ';\n}\n\n.icon-contact::before {\n font-family: 'Fontello';\n content: '\\e80c ';\n}\n\n.icon-file::before {\n font-family: 'Fontello';\n content: '\\e80d ';\n}\n\n.icon-upload-to-cloud::before {\n font-family: 'Fontello';\n content: '\\e80e ';\n}\n\n.icon-upload-from-cloud::before {\n font-family: 'Fontello';\n content: '\\e80f ';\n}\n\n.icon-download::before {\n font-family: 'Fontello';\n content: '\\e810 ';\n}\n\n.icon-new::before {\n font-family: 'Fontello';\n content: '\\e811 ';\n}\n\n.icon-toggle-file-selection::before {\n font-family: 'Fontello';\n content: '\\e81f ';\n}\n\n.icon-unselect-all::before {\n font-family: 'Fontello';\n content: '\\e812 ';\n}\n\n.icon-pack::before {\n font-family: 'Fontello';\n content: '\\e813 ';\n}\n\n.icon-extract::before {\n font-family: 'Fontello';\n content: '\\e814 ';\n}\n\n.icon-copy-to-clipboard::before {\n font-family: 'Fontello';\n content: '\\e815 ';\n}\n\n.icon-refresh::before {\n font-family: 'Fontello';\n content: '\\e816 ';\n}\n\n.icon-cut::before {\n font-family: 'Fontello';\n content: '\\e817 ';\n}\n\n.icon-paste::before {\n font-family: 'Fontello';\n content: '\\e818 ';\n}\n\n.icon-upload::before {\n font-family: 'Fontello';\n content: '\\e819 ';\n}\n\n.icon-log-out::before {\n font-family: 'Fontello';\n content: '\\e81a ';\n}\n\n.icon-terminal::before {\n font-family: 'Fontello';\n content: '\\e81b ';\n}\n\n.icon-user-menu::before {\n font-family: 'Fontello';\n content: '\\e81c ';\n}\n",".help {\n margin: 25px;\n white-space: normal;\n}\n\n.help li {\n list-style-type: disc;\n}\n\n.help img {\n max-width: 100%;\n}\n","@media only screen and (width >= 1600px) {\n .name {\n width: 40%;\n }\n \n .size {\n width: 10%;\n }\n \n .date {\n width: 15%;\n }\n \n .owner {\n width: 12%;\n }\n \n .mode {\n width: 15%;\n }\n}\n\n:root {\n --min-one-panel-width: 1155px;\n --is-mobile: 0;\n}\n\n@media only screen and (height <= 900px) and (width <= 600px) {\n .fm {\n height: 85%;\n }\n \n .files {\n height: 90%;\n }\n}\n\n@media only screen and (height >= 550px) and (width <= 600px) {\n .fm {\n height: 80%;\n }\n \n .files {\n height: 90%;\n }\n}\n\n@media only screen and (height <= 750px) and (width <= 600px) {\n .fm {\n height: 75%;\n }\n}\n\n@media only screen and (height <= 450px) and (width <= 600px) {\n .fm {\n height: 75%;\n }\n}\n\n@media only screen and (width <= 600px) {\n :root {\n --is-mobile: 1;\n }\n}\n\n@media only screen and (height <= 550px) and (width <= 600px) {\n .fm {\n height: 65%;\n }\n}\n\n@media only screen and (height <= 550px) and (width <= 550px) {\n .fm {\n height: 70%;\n }\n}\n\n@media only screen and (height >= 850px) and (width >= 650px) {\n .fm {\n height: 95%;\n }\n}\n\n@media only screen and (height <= 850px) {\n .files {\n height: 90%;\n }\n}\n\n@media only screen and (height <= 700px) and (width >= 600px) {\n .fm {\n height: 85%;\n }\n \n .files {\n height: 90%;\n }\n}\n\n@media only screen and (height <= 450px) {\n .fm {\n height: 65%;\n }\n}\n\n@media only screen and (height <= 640px) and (width <= 360px) {\n .fm {\n height: 75%;\n }\n \n .files {\n height: 90%;\n }\n}\n\n/* iphone 6 landscape */\n@media only screen and (device-width >= 375px) and (device-width <= 667px) and (orientation: landscape),\n only screen and (height <= 360px) and (width <= 640px) {\n .fm {\n height: 55%;\n }\n \n .files {\n height: 60%;\n }\n}\n\n@media only screen and (width <= 600px) {\n .panel {\n font-size: 26px;\n }\n \n /* текущий файл под курсором */\n .current-file {\n background-color: var(--border-color);\n color: white;\n }\n /* делаем иконки под курсом белыми */\n .current-file a {\n color: white;\n }\n \n .file::before {\n color: rgb(26 224 124 / 56%);\n content: '\\e80d';\n }\n \n .file-link::before {\n color: rgb(26 224 124 / 56%);\n content: '\\e81d';\n }\n \n /* меняем иконки на шрифтовые */\n .mini-icon {\n color: rgb(246 224 124 / 56%);\n font: 16px 'Fontello';\n background-image: none;\n padding: 1%;\n }\n \n .size,\n .date,\n .owner,\n .time,\n .mode {\n display: none !important;\n }\n \n .name {\n width: 90%;\n display: inline-block;\n }\n \n .directory::before {\n content: '\\e807';\n }\n \n .directory-link::before {\n content: '\\e81e';\n }\n \n .file,\n .file-link {\n background-image: none;\n }\n \n .archive,\n .archive-link {\n background-image: none;\n }\n \n .archive::before,\n .archive-link {\n color: rgb(26 224 124 / 56%);\n content: '\\e81d';\n }\n \n /* убираем заголовок */\n .fm-header {\n display: none;\n }\n \n /* выводим заголовки рядом с полями */\n .cmd-button {\n width: 20%;\n }\n}\n\n@media only screen and (width >= 601px) and (width <= 785px) {\n .cmd-button {\n width: 13%;\n }\n}\n\n@media only screen and (width >= 786px) and (width <= 1155px) {\n .cmd-button {\n width: 10%;\n }\n}\n\n@media only screen and (width <= 1155px) {\n .panel {\n width: 98%;\n }\n /* если правая панель не помещаеться - прячем её */\n .panel-right,\n .cmd-button#f5,\n .cmd-button#f6 {\n display: none;\n }\n}\n\n@media print {\n .panel {\n width: 94%;\n margin: 0;\n padding: 0;\n border: none;\n }\n \n .keyspanel,\n .panel-right {\n display: none;\n }\n \n .files {\n overflow-y: visible;\n }\n \n .current-file {\n box-shadow: 0 0;\n }\n \n .path-icon {\n display: none;\n }\n \n .mini-icon {\n display: none;\n }\n}\n","@supports (overflow: overlay) {\n .files {\n overflow-y: auto;\n }\n \n .fm-header {\n overflow-y: hidden;\n }\n}\n",".menu-hidden {\n display: none;\n}\n\n.menu {\n position : absolute;\n z-index : 2;\n padding : 0;\n font-size : 14px;\n list-style : none;\n color : #222;\n background : rgb(255 255 255);\n background : rgb(255 255 255 / 90%);\n border-color : rgb(49 123 249);\n border-color : rgb(49 123 249 / 40%);\n border-style : solid;\n border-width : 1px;\n border-radius : 5px;\n -webkit-user-select : none;\n -moz-user-select : none;\n -ms-user-select : none;\n -o-user-select : none;\n user-select : none;\n}\n\n.menu-button {\n background: white;\n border: 0;\n}\n\n.menu-item {\n position: relative;\n padding: 3px 20px;\n white-space: pre;\n}\n\n.menu-item::after {\n content: attr(data-key);\n float: right;\n}\n\n.menu-item:hover, .menu-item-selected {\n background-color: #e3f2ff;\n}\n\n.menu-item > .menu {\n top: 0;\n left: 100%;\n display: none;\n}\n\n.menu-item:hover > .menu {\n display: block;\n}\n\n.menu-submenu > label::after {\n display: block;\n float: right;\n width: 0;\n height: 0;\n margin-top: 3px;\n margin-right: -10px;\n border-color: transparent;\n border-left-color: rgb(49 123 249);\n border-style: solid;\n border-width: 5px 0 5px 5px;\n content: ' ';\n}\n",".view {\n font-size: 16px;\n white-space: pre;\n height: 100%;\n overflow: auto;\n}\n\n.view:focus {\n outline: 0;\n}\n\n.view::selection {\n text-shadow: none;\n background: #b3d4fc;\n}\n\n.view-overlay {\n display: block;\n background: rgb(255 255 255 / 10%);\n}\n\n.media,\nvideo {\n width: 100%;\n}\n\naudio {\n margin-top: 10px;\n}\n",".modal-main {\n display: flex;\n flex-direction: column;\n z-index: 1;\n width: 100%;\n height: 100%;\n position: fixed;\n top: 0;\n left: 0;\n}\n\n.modal-child {\n height: calc(100% - 40px);\n background: #f9f9f9;\n margin: 20px;\n z-index: 10;\n box-shadow: 0 10px 25px rgb(0 0 0 / 50%);\n position: relative;\n}\n\n.modal-close {\n position: absolute;\n top: -16px;\n right: -16px;\n width: 36px;\n height: 36px;\n cursor: pointer;\n z-index: 1234567890;\n background-image: url(../img/close.svg);\n}\n\n.modal-autosize {\n align-items: center;\n justify-content: center;\n min-height: min-content;\n}\n\n.modal-autosize .modal-child {\n height: auto;\n}\n\n.modal-is-title {\n height: calc(100% - 40px);\n}\n\n.modal-image {\n max-width: 100%;\n max-height: calc(100vh - 60px);\n display: block;\n}\n\n.modal-nav {\n position: absolute;\n top: 0;\n width: 40%;\n height: 100%;\n cursor: pointer;\n text-decoration: none;\n background: transparent;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n}\n\n.modal-nav-left {\n left: 0;\n}\n\n.modal-nav-right {\n right: 0;\n}\n\n.modal-nav span {\n position: absolute;\n top: 50%;\n width: 36px;\n height: 36px;\n margin-top: -18px;\n cursor: pointer;\n z-index: 123456789;\n visibility: hidden;\n}\n\n.modal-nav-left span {\n left: 10px;\n background-image: url(../img/left.svg);\n}\n\n.modal-nav-right span {\n right: 10px;\n background-image: url(../img/right.svg);\n}\n\n.modal-nav:hover span {\n visibility: visible;\n}\n\n.modal-title {\n position: absolute;\n bottom: 0;\n right: 50%;\n margin-bottom: -35px;\n z-index: 8050;\n text-align: center;\n}\n\n.modal-title-text {\n display: inline-block;\n font-size: 13px;\n margin-right: -100%;\n padding: 2px 20px;\n background: rgb(0 0 0 / 80%);\n text-shadow: 0 1px 2px #222;\n color: #fff;\n font-weight: 700;\n line-height: 24px;\n white-space: nowrap;\n}\n",".config {\n white-space: normal;\n overflow: hidden;\n width: 250px;\n}\n\n.list li {\n list-style-type: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.config .form-control {\n width: 200px;\n padding: 0 12px;\n font-size: 16px;\n line-height: 1.5;\n color: var(--column-color);\n background: var(--internal-background);\n border: 1px solid #ccc;\n -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 7.5%);\n -moz-box-shadow: inset 0 1px 1px rgb(0 0 0 / 7.5%);\n box-shadow: inset 0 1px 1px rgb(0 0 0 / 7.5%);\n -webkit-transition:\n border-color ease-in-out 0.15s,\n box-shadow ease-in-out 0.15s;\n -moz-transition:\n border-color ease-in-out 0.15s,\n box-shadow ease-in-out 0.15s;\n -o-transition:\n border-color ease-in-out 0.15s,\n box-shadow ease-in-out 0.15s;\n transition:\n border-color ease-in-out 0.15s,\n box-shadow ease-in-out 0.15s;\n}\n\n.config .form-control::-moz-placeholder {\n color: #999;\n}\n\n.config .form-control::-ms-input-placeholder {\n color: #999;\n}\n\n.config .form-control::-webkit-input-placeholder {\n color: #999;\n}\n\n.config .form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow:\n inset 0 1px 1px rgb(0 0 0 / 7.5%),\n 0 0 1px rgb(102 175 233 / 60%);\n -moz-box-shadow:\n inset 0 1px 1px rgb(0 0 0 / 7.5%),\n 0 0 1px rgb(102 175 233 / 60%);\n box-shadow:\n inset 0 1px 1px rgb(0 0 0 / 7.5%),\n 0 0 1px rgb(102 175 233 / 60%);\n}\n\n.config .form-control:focus:invalid:focus {\n border-color: #e9322d;\n -webkit-box-shadow: 0 0 6px #f8b9b7;\n -moz-box-shadow: 0 0 6px #f8b9b7;\n box-shadow: 0 0 6px #f8b9b7;\n}\n\n.config .list {\n padding: 0;\n margin: 5%;\n}\n\n.config .full-width {\n width: 100%;\n}\n",".terminal {\n height: 100%;\n}\n",".cloudcmd-user-menu {\n font-size: 16px;\n font-family: 'Droid Sans Mono', 'Ubuntu Mono', 'Consolas', monospace;\n border: 0;\n}\n\n.cloudcmd-user-menu:focus {\n outline: 0;\n}\n\n.cloudcmd-user-menu > option:checked {\n box-shadow: 20px -20px 0 2px var(--selected-menu-item-color) inset;\n}\n\n.cloudcmd-user-menu-button {\n display: block;\n width: 100%;\n font-size: 16px;\n padding: 2px;\n -webkit-appearance: none;\n border: 0;\n overflow: auto;\n}\n",".smalltalk {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n transition: 200ms opacity;\n inset: 0;\n overflow: auto;\n padding: 20px;\n position: fixed;\n z-index: 100;\n}\n\n.smalltalk + .smalltalk {\n transition: ease 1s;\n}\n\n.smalltalk .page {\n border-radius: 3px;\n background: white;\n box-shadow: 0 4px 23px 5px rgb(0 0 0 / 20%), 0 2px 6px rgb(0 0 0 / 15%);\n color: #333;\n min-width: 400px;\n padding: 0;\n position: relative;\n z-index: 0;\n}\n\n@media only screen and (width <= 500px) {\n .smalltalk .page {\n min-width: 0;\n }\n}\n\n.smalltalk .page > .close-button {\n background-image: url(../img/IDR_CLOSE_DIALOG.png);\n background-position: center;\n background-repeat: no-repeat;\n height: 14px;\n position: absolute;\n right: 7px;\n top: 7px;\n width: 14px;\n z-index: 1;\n}\n\n.smalltalk .page > .close-button:hover {\n background-image: url(../img/IDR_CLOSE_DIALOG_H.png);\n}\n\n.smalltalk .progress {\n display: block;\n width: 100%;\n}\n\n.smalltalk .page header {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 500px;\n user-select: none;\n color: #333;\n font-size: 120%;\n font-weight: bold;\n margin: 0;\n padding: 14px 17px;\n text-shadow: white 0 1px 2px;\n}\n\n.smalltalk .page .content-area {\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 6px 17px;\n position: relative;\n}\n\n.smalltalk .page .action-area {\n padding: 14px 17px;\n}\n\nbutton {\n font-family: 'Ubuntu', 'Arial', sans-serif;\n}\n\n.smalltalk button, .smalltalk .smalltalk {\n min-height: 2em;\n min-width: 4em;\n}\n\n.smalltalk button {\n appearance: none;\n user-select: none;\n background-image: linear-gradient(#ededed, #ededed 38%, #dedede);\n border: 1px solid rgb(0 0 0 / 25%);\n border-radius: 2px;\n box-shadow: 0 1px 0 rgb(0 0 0 / 8%), inset 0 1px 2px rgb(255 255 255 / 75%);\n color: #444;\n font: inherit;\n margin: 0 1px 0 0;\n text-shadow: 0 1px 0 rgb(240 240 240);\n}\n\n.smalltalk button::-moz-focus-inner {\n border: 0;\n}\n\n.smalltalk button:enabled:active {\n background-image: linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7);\n box-shadow: none;\n text-shadow: none;\n}\n\n.smalltalk .page .button-strip {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n}\n\n.smalltalk .page .button-strip > button {\n margin-left: 10px;\n}\n\n.smalltalk input {\n width: 100%;\n border: 1px solid #bfbfbf;\n border-radius: 2px;\n box-sizing: border-box;\n color: #444;\n font: inherit;\n margin: 0;\n min-height: 2em;\n padding: 3px;\n outline: none;\n}\n\n.smalltalk button:enabled:focus, .smalltalk input:enabled:focus {\n transition: border-color 200ms;\n border-color: rgb(77 144 254);\n outline: none;\n}\n\n"],"names":[],"mappings":"AASA,gBAIA,cCRA,yt+FAaA,kpkQAoBA,owBAIA,6zBAIA,2bAIA,wfAIA,0jBAIA,2yBAIA,g3EAIA,gmEClEA,gBAIA,8EAOA,wFAOA,0BAIA,mBAIA,8HAWA,+KASA,qEAMA,qCAKA,2BAIA,qDAKA,0BAIA,2CAKA,6FAQA,6FAQA,yHASA,wIASA,sDAKA,oFAMA,4BAIA,uBAIA,iDAMA,mBAIA,iGAcA,4CAMA,qDAKA,uBAIA,6DAIA,qBAIA,2BAKA,gCAIA,6BAIA,wEAMA,yBAIA,uCAMA,wBAIA,uCAIA,6BAIA,wFAQA,qDAMA,6CAKA,mFAaA,sDAMA,uEAMA,2GASA,0BC7QA,sDAKA,wDAKA,sDAKA,sDAKA,sDAKA,sDAKA,2DAKA,wDAKA,sDAKA,wDAKA,yDAKA,yDAKA,sDAKA,iEAKA,mEAKA,0DAKA,qDAKA,uEAKA,8DAKA,sDAKA,yDAKA,mEAKA,yDAKA,qDAKA,uDAKA,wDAKA,yDAKA,0DAKA,2DC5IA,qCAKA,8BAIA,yBCTA,uCACI,gBAIA,gBAIA,gBAIA,iBAIA,iBAKJ,iDAKA,0DACI,eAIA,mBAKJ,0DACI,eAIA,mBAKJ,0DACI,gBAKJ,0DACI,gBAKJ,sCACI,qBAKJ,0DACI,gBAKJ,0DACI,gBAKJ,0DACI,gBAKJ,uCACI,mBAKJ,0DACI,eAIA,mBAKJ,uCACI,gBAKJ,0DACI,eAIA,mBAMJ,sJAEI,eAIA,mBAKJ,sCACI,sBAKA,8DAKA,2BAIA,2CAKA,gDAMA,+EAOA,sDAQA,qCAKA,gCAIA,qCAIA,8DAUA,4DAOA,wBAKA,uBAKJ,yDACI,uBAKJ,0DACI,uBAKJ,uCACI,iBAIA,yDAOJ,aACI,gDAOA,qCAKA,0BAIA,6BAIA,oCC7PJ,6BACI,uBAIA,8BCLJ,0BAIA,sNAqBA,sCAKA,8DAMA,oDAKA,8DAIA,8CAMA,qCAIA,yLCvDA,+DAOA,sBAIA,qDAKA,iDAKA,wBAKA,sBC1BA,4GAWA,mIASA,2gGAWA,iFAMA,yCAIA,yCAIA,wEAMA,8IAWA,uBAIA,yBAIA,qIAWA,o/EAKA,8lFAKA,yCAIA,qGASA,qMCxGA,uDAMA,4FASA,yVAyBA,iGAYA,kHAcA,0FAOA,kCAKA,+BC9EA,sBCAA,uGAMA,oCAIA,qGAIA,8HCdA,6KAaA,wCAIA,wKAWA,sCACI,8BAKJ,iYAYA,kXAIA,8CAKA,4OAcA,yGAOA,gDAIA,2CAIA,qEAKA,+SAaA,6CAIA,gIAMA,wFAMA,uDAIA,sKAaA"}
@@ -9913,12 +9913,12 @@ __webpack_require__.d(__webpack_exports__, {
9913
9913
  691(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
9914
9914
  "use strict";
9915
9915
  /* import */ var execon__rspack_import_0 = __webpack_require__(9168);
9916
- /* import */ var wraptile__rspack_import_1 = __webpack_require__(9317);
9917
- /* import */ var _dom_load__rspack_import_2 = __webpack_require__(8576);
9918
- /* import */ var _dom_dialog__rspack_import_3 = __webpack_require__(6462);
9919
- /* import */ var _common_cloudfunc__rspack_import_4 = __webpack_require__(5700);
9920
- /* import */ var _dom_images__rspack_import_5 = __webpack_require__(6226);
9921
- /* import */ var _current_file_js__rspack_import_6 = __webpack_require__(4958);
9916
+ /* import */ var wraptile__rspack_import_6 = __webpack_require__(9317);
9917
+ /* import */ var _dom_load__rspack_import_1 = __webpack_require__(8576);
9918
+ /* import */ var _dom_dialog__rspack_import_2 = __webpack_require__(6462);
9919
+ /* import */ var _common_cloudfunc__rspack_import_3 = __webpack_require__(5700);
9920
+ /* import */ var _dom_images__rspack_import_4 = __webpack_require__(6226);
9921
+ /* import */ var _current_file_js__rspack_import_5 = __webpack_require__(4958);
9922
9922
  /* global CloudCmd */
9923
9923
 
9924
9924
 
@@ -9926,12 +9926,12 @@ __webpack_require__.d(__webpack_exports__, {
9926
9926
 
9927
9927
 
9928
9928
 
9929
- const loadFile = wraptile__rspack_import_1(_loadFile);
9930
- const onEnd = wraptile__rspack_import_1(_onEnd);
9929
+ const loadFile = wraptile__rspack_import_6(_loadFile);
9930
+ const onEnd = wraptile__rspack_import_6(_onEnd);
9931
9931
  const uploadFiles = (dir, files)=>{
9932
9932
  if (!files) {
9933
9933
  files = dir;
9934
- dir = (0,_current_file_js__rspack_import_6.getCurrentDirPath)();
9934
+ dir = (0,_current_file_js__rspack_import_5.getCurrentDirPath)();
9935
9935
  }
9936
9936
  const n = files.length;
9937
9937
  if (!n) return;
@@ -9949,21 +9949,21 @@ function _loadFile(dir, n, file, callback) {
9949
9949
  const { name } = file;
9950
9950
  const path = dir + name;
9951
9951
  const { prefixURL } = CloudCmd;
9952
- const api = prefixURL + _common_cloudfunc__rspack_import_4.FS;
9952
+ const api = prefixURL + _common_cloudfunc__rspack_import_3.FS;
9953
9953
  const percent = (i, n, per = 100)=>{
9954
9954
  return Math.round(i * per / n);
9955
9955
  };
9956
9956
  const step = (n)=>100 / n;
9957
9957
  ++i;
9958
- _dom_load__rspack_import_2.put(api + path, file).on('error', showError).on('end', callback).on('progress', (count)=>{
9958
+ _dom_load__rspack_import_1.put(api + path, file).on('error', showError).on('end', callback).on('progress', (count)=>{
9959
9959
  const max = step(n);
9960
9960
  const value = (i - 1) * max + percent(count, 100, max);
9961
- _dom_images__rspack_import_5.show.load('top');
9962
- _dom_images__rspack_import_5.setProgress(Math.round(value));
9961
+ _dom_images__rspack_import_4.show.load('top');
9962
+ _dom_images__rspack_import_4.setProgress(Math.round(value));
9963
9963
  });
9964
9964
  }
9965
9965
  function showError({ message }) {
9966
- (0,_dom_dialog__rspack_import_3.alert)(message);
9966
+ (0,_dom_dialog__rspack_import_2.alert)(message);
9967
9967
  }
9968
9968
 
9969
9969
  __webpack_require__.d(__webpack_exports__, {
@@ -10283,11 +10283,11 @@ __webpack_require__.d(__webpack_exports__, {
10283
10283
  2690(__unused_rspack___webpack_module__, __unused_rspack___webpack_exports__, __webpack_require__) {
10284
10284
  "use strict";
10285
10285
  /* import */ var execon__rspack_import_0 = __webpack_require__(9168);
10286
- /* import */ var currify__rspack_import_1 = __webpack_require__(4299);
10287
- /* import */ var load_js__rspack_import_2 = __webpack_require__(1256);
10288
- /* import */ var _dom_load__rspack_import_3 = __webpack_require__(8576);
10289
- /* import */ var _dom_files__rspack_import_4 = __webpack_require__(4701);
10290
- /* import */ var _dom_images__rspack_import_5 = __webpack_require__(6226);
10286
+ /* import */ var currify__rspack_import_5 = __webpack_require__(4299);
10287
+ /* import */ var load_js__rspack_import_1 = __webpack_require__(1256);
10288
+ /* import */ var _dom_load__rspack_import_2 = __webpack_require__(8576);
10289
+ /* import */ var _dom_files__rspack_import_3 = __webpack_require__(4701);
10290
+ /* import */ var _dom_images__rspack_import_4 = __webpack_require__(6226);
10291
10291
  /* global CloudCmd, filepicker */
10292
10292
 
10293
10293
 
@@ -10295,7 +10295,7 @@ __webpack_require__.d(__webpack_exports__, {
10295
10295
 
10296
10296
 
10297
10297
  const { log } = CloudCmd;
10298
- const upload = currify__rspack_import_1(_upload);
10298
+ const upload = currify__rspack_import_5(_upload);
10299
10299
  const Name = 'Cloud';
10300
10300
  CloudCmd[Name] = {
10301
10301
  init,
@@ -10306,7 +10306,7 @@ async function init() {
10306
10306
  const [modules] = await loadFiles();
10307
10307
  const { key } = modules.data.FilePicker;
10308
10308
  filepicker.setKey(key);
10309
- _dom_images__rspack_import_5.hide();
10309
+ _dom_images__rspack_import_4.hide();
10310
10310
  }
10311
10311
  function uploadFile(filename, data) {
10312
10312
  const mimetype = '';
@@ -10324,7 +10324,7 @@ function _upload(callback, file) {
10324
10324
  const { url, filename } = file;
10325
10325
  const responseType = 'arraybuffer';
10326
10326
  const success = execon__rspack_import_0["with"](callback, filename);
10327
- (0,_dom_load__rspack_import_3.ajax)({
10327
+ (0,_dom_load__rspack_import_2.ajax)({
10328
10328
  url,
10329
10329
  responseType,
10330
10330
  success
@@ -10333,8 +10333,8 @@ function _upload(callback, file) {
10333
10333
  function loadFiles() {
10334
10334
  const js = '//api.filepicker.io/v2/filepicker.js';
10335
10335
  return Promise.all([
10336
- _dom_files__rspack_import_4.get('modules'),
10337
- load_js__rspack_import_2.js(js)
10336
+ _dom_files__rspack_import_3.get('modules'),
10337
+ load_js__rspack_import_1.js(js)
10338
10338
  ]);
10339
10339
  }
10340
10340
 
@@ -10433,14 +10433,9 @@ function setState(state) {
10433
10433
  const getValue = (name, element)=>{
10434
10434
  const el = getElementByName(name, element);
10435
10435
  const { type } = el;
10436
- switch(type){
10437
- case 'checkbox':
10438
- return el.checked;
10439
- case 'number':
10440
- return Number(el.value);
10441
- default:
10442
- return el.value;
10443
- }
10436
+ if (type === 'checkbox') return el.checked;
10437
+ if (type === 'number') return Number(el.value);
10438
+ return el.value;
10444
10439
  };
10445
10440
  const setValue = (name, value, element)=>{
10446
10441
  const el = getElementByName(name, element);
@@ -11294,11 +11289,11 @@ function hide() {
11294
11289
  634(__unused_rspack___webpack_module__, __unused_rspack___webpack_exports__, __webpack_require__) {
11295
11290
  "use strict";
11296
11291
  /* import */ var execon__rspack_import_0 = __webpack_require__(9168);
11297
- /* import */ var currify__rspack_import_1 = __webpack_require__(4299);
11292
+ /* import */ var currify__rspack_import_4 = __webpack_require__(4299);
11298
11293
  /* import */ var try_to_catch__rspack_import_5 = __webpack_require__(980);
11299
- /* import */ var load_js__rspack_import_2 = __webpack_require__(1256);
11300
- /* import */ var _cloudcmd_create_element__rspack_import_3 = __webpack_require__(407);
11301
- /* import */ var _dom_images__rspack_import_4 = __webpack_require__(6226);
11294
+ /* import */ var load_js__rspack_import_1 = __webpack_require__(1256);
11295
+ /* import */ var _cloudcmd_create_element__rspack_import_2 = __webpack_require__(407);
11296
+ /* import */ var _dom_images__rspack_import_3 = __webpack_require__(6226);
11302
11297
  /* global CloudCmd */ /* global Util */ /* global DOM */ /* global Console */
11303
11298
 
11304
11299
 
@@ -11314,13 +11309,13 @@ const { Dialog, CurrentInfo: Info } = DOM;
11314
11309
  const rmLastSlash = (a)=>a.replace(/\/$/, '') || '/';
11315
11310
  let konsole;
11316
11311
  const { config } = CloudCmd;
11317
- const cd = currify__rspack_import_1((fn, dir)=>fn(`cd ${rmLastSlash(dir)}`));
11312
+ const cd = currify__rspack_import_4((fn, dir)=>fn(`cd ${rmLastSlash(dir)}`));
11318
11313
  const Name = 'Konsole';
11319
11314
  let Element;
11320
11315
  let Loaded;
11321
11316
  async function init() {
11322
11317
  if (!config('console')) return;
11323
- _dom_images__rspack_import_4.show.load('top');
11318
+ _dom_images__rspack_import_3.show.load('top');
11324
11319
  await CloudCmd.View();
11325
11320
  await load();
11326
11321
  await create();
@@ -11356,7 +11351,7 @@ const create = async ()=>{
11356
11351
  prefixSocket: getPrefixSocket(),
11357
11352
  socketPath: CloudCmd.prefix
11358
11353
  };
11359
- Element = _cloudcmd_create_element__rspack_import_3('div', {
11354
+ Element = _cloudcmd_create_element__rspack_import_2('div', {
11360
11355
  className: 'console'
11361
11356
  });
11362
11357
  konsole = await Console(Element, options);
@@ -11391,7 +11386,7 @@ const load = async ()=>{
11391
11386
  Util.time(`${Name} load`);
11392
11387
  const prefix = getPrefix();
11393
11388
  const url = `${prefix}/console.js`;
11394
- const [error] = await (0,try_to_catch__rspack_import_5/* .tryToCatch */.Y)(load_js__rspack_import_2.js, url);
11389
+ const [error] = await (0,try_to_catch__rspack_import_5/* .tryToCatch */.Y)(load_js__rspack_import_1.js, url);
11395
11390
  Loaded = true;
11396
11391
  Util.timeEnd(`${Name} load`);
11397
11392
  if (error) return Dialog.alert(error.message, {
@@ -11480,11 +11475,11 @@ __webpack_require__.d(__webpack_exports__, {
11480
11475
  347(__unused_rspack___webpack_module__, __unused_rspack___webpack_exports__, __webpack_require__) {
11481
11476
  "use strict";
11482
11477
  /* import */ var execon__rspack_import_0 = __webpack_require__(9168);
11483
- /* import */ var wraptile__rspack_import_1 = __webpack_require__(9317);
11484
- /* import */ var _cloudcmd_create_element__rspack_import_2 = __webpack_require__(407);
11485
- /* import */ var _dom_load__rspack_import_3 = __webpack_require__(8576);
11486
- /* import */ var _dom_rest__rspack_import_4 = __webpack_require__(6550);
11487
- /* import */ var _common_cloudfunc__rspack_import_5 = __webpack_require__(5700);
11478
+ /* import */ var wraptile__rspack_import_5 = __webpack_require__(9317);
11479
+ /* import */ var _cloudcmd_create_element__rspack_import_1 = __webpack_require__(407);
11480
+ /* import */ var _dom_load__rspack_import_2 = __webpack_require__(8576);
11481
+ /* import */ var _dom_rest__rspack_import_3 = __webpack_require__(6550);
11482
+ /* import */ var _common_cloudfunc__rspack_import_4 = __webpack_require__(5700);
11488
11483
 
11489
11484
 
11490
11485
 
@@ -11496,7 +11491,7 @@ const { config, Key } = CloudCmd;
11496
11491
  const { Buffer, Events, Dialog, Images } = DOM;
11497
11492
  const Info = DOM.CurrentInfo;
11498
11493
  const alertNoFiles = Dialog.alert.noFiles;
11499
- const uploadTo = wraptile__rspack_import_1(_uploadTo);
11494
+ const uploadTo = wraptile__rspack_import_5(_uploadTo);
11500
11495
  let MenuShowedName;
11501
11496
  let MenuContext;
11502
11497
  let MenuContextFile;
@@ -11668,7 +11663,7 @@ function uploadFromCloud() {
11668
11663
  Images.show.load('top');
11669
11664
  CloudCmd.execFromModule('Cloud', 'saveFile', async (currentName, data)=>{
11670
11665
  const path = DOM.getCurrentDirPath() + currentName;
11671
- const [e] = await _dom_rest__rspack_import_4.write(path, data);
11666
+ const [e] = await _dom_rest__rspack_import_3.write(path, data);
11672
11667
  if (e) return;
11673
11668
  await CloudCmd.refresh({
11674
11669
  currentName
@@ -11695,11 +11690,11 @@ function download(type) {
11695
11690
  * no need in hash so we escape #
11696
11691
  * and all other characters, like "%"
11697
11692
  */ const encodedPath = encodeURI(path).replace(/#/g, '#');
11698
- const id = (0,_dom_load__rspack_import_3.getIdBySrc)(path);
11693
+ const id = (0,_dom_load__rspack_import_2.getIdBySrc)(path);
11699
11694
  let src;
11700
11695
  if (isDir) src = prefixURL + PACK + encodedPath + DOM.getPackerExt(type);
11701
- else src = prefixURL + _common_cloudfunc__rspack_import_5.FS + encodedPath + '?download';
11702
- const element = _cloudcmd_create_element__rspack_import_2('iframe', {
11696
+ else src = prefixURL + _common_cloudfunc__rspack_import_4.FS + encodedPath + '?download';
11697
+ const element = _cloudcmd_create_element__rspack_import_1('iframe', {
11703
11698
  id: id + '-' + date,
11704
11699
  async: false,
11705
11700
  className: 'hidden',
@@ -13251,20 +13246,12 @@ async function show(data, options = {}) {
13251
13246
  dom_images.show.load();
13252
13247
  const path = prefixURL + Info.path;
13253
13248
  const type = options.raw ? '' : await getType(path);
13254
- switch(type){
13255
- default:
13256
- return await viewFile();
13257
- case 'markdown':
13258
- return await CloudCmd.Markdown.show(Info.path);
13259
- case 'html':
13260
- return viewHtml(path);
13261
- case 'image':
13262
- return viewImage(Info.path, prefixURL);
13263
- case 'media':
13264
- return await viewMedia(path);
13265
- case 'pdf':
13266
- return viewPDF(path);
13267
- }
13249
+ if (type === 'markdown') return await CloudCmd.Markdown.show(Info.path);
13250
+ if (type === 'html') return viewHtml(path);
13251
+ if (type === 'image') return viewImage(Info.path, prefixURL);
13252
+ if (type === 'media') return await viewMedia(path);
13253
+ if (type === 'pdf') return viewPDF(path);
13254
+ return await viewFile();
13268
13255
  }
13269
13256
  const _createIframe = (/* unused pure expression or super */ null && (createIframe));
13270
13257
  function createIframe(src, overrides = {}) {
@@ -13421,19 +13408,19 @@ __webpack_require__.r(__webpack_exports__);
13421
13408
  if (791 == __webpack_require__.j) {
13422
13409
  /* import */ var rendy__rspack_import_3 = __webpack_require__(4492);
13423
13410
 
13424
- }/* import */ var currify__rspack_import_0 = __webpack_require__(4299);
13425
- /* import */ var fullstore__rspack_import_2 = __webpack_require__(8328);
13426
- /* import */ var _common_entity__rspack_import_1 = __webpack_require__(9460);
13411
+ }/* import */ var currify__rspack_import_2 = __webpack_require__(4299);
13412
+ /* import */ var fullstore__rspack_import_1 = __webpack_require__(8328);
13413
+ /* import */ var _common_entity__rspack_import_0 = __webpack_require__(9460);
13427
13414
 
13428
13415
 
13429
13416
 
13430
13417
 
13431
13418
  const id = (a)=>a;
13432
13419
  const NAME = 'Cloud Commander';
13433
- const dateFormatter = (/* runtime-dependent pure expression or super */ 791 == __webpack_require__.j ? ((0,fullstore__rspack_import_2/* .fullstore */.p)(id)) : null);
13434
- const getHeaderField = currify__rspack_import_0(_getHeaderField);
13420
+ const dateFormatter = (/* runtime-dependent pure expression or super */ 791 == __webpack_require__.j ? ((0,fullstore__rspack_import_1/* .fullstore */.p)(id)) : null);
13421
+ const getHeaderField = currify__rspack_import_2(_getHeaderField);
13435
13422
  const FS = '/fs';
13436
- const Path = (0,fullstore__rspack_import_2/* .fullstore */.p)();
13423
+ const Path = (0,fullstore__rspack_import_1/* .fullstore */.p)();
13437
13424
  Path('/');
13438
13425
  const filterOutDotFiles = ({ showDotFiles })=>({ name })=>{
13439
13426
  if (showDotFiles) return true;
@@ -13505,7 +13492,7 @@ function _getDataName(name) {
13505
13492
  const templateFile = template.file;
13506
13493
  const templateLink = template.link;
13507
13494
  const json = params.data;
13508
- const path = (0,_common_entity__rspack_import_1/* .encode */.l)(json.path);
13495
+ const path = (0,_common_entity__rspack_import_0/* .encode */.l)(json.path);
13509
13496
  const { files } = json;
13510
13497
  /*
13511
13498
  * Строим путь каталога в котором мы находимся
@@ -13563,7 +13550,7 @@ function _getDataName(name) {
13563
13550
  fileTable += files.filter(filterOutDotFiles({
13564
13551
  showDotFiles
13565
13552
  })).map(updateField).map((file)=>{
13566
- const name = (0,_common_entity__rspack_import_1/* .encode */.l)(file.name);
13553
+ const name = (0,_common_entity__rspack_import_0/* .encode */.l)(file.name);
13567
13554
  const link = prefix + FS + path + name;
13568
13555
  const { type, mode, date, time, owner, size } = file;
13569
13556
  const linkResult = (0,rendy__rspack_import_3/* .rendy */.n)(templateLink, {