@topvisor/ui 1.0.22-selectorRegion-pr → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/.chunks/{core-DOD2Zduv.amd.js → core-CcWs0qYw.amd.js} +2 -2
  2. package/.chunks/core-CcWs0qYw.amd.js.map +1 -0
  3. package/.chunks/{core-Cb1K4rks.es.js → core-Dsl28h7N.es.js} +4 -4
  4. package/.chunks/core-Dsl28h7N.es.js.map +1 -0
  5. package/.chunks/{datepicker-DNOnzVIz.amd.js → datepicker-B6kIyIcw.amd.js} +2 -2
  6. package/.chunks/datepicker-B6kIyIcw.amd.js.map +1 -0
  7. package/.chunks/{datepicker-BbLOzQtp.es.js → datepicker-BTiE5Grw.es.js} +2 -2
  8. package/.chunks/datepicker-BTiE5Grw.es.js.map +1 -0
  9. package/.chunks/{dialog_selectorRegions-BYAZLdbp.es.js → dialog_selectorRegions-BZcnnvJM.es.js} +3 -3
  10. package/.chunks/dialog_selectorRegions-BZcnnvJM.es.js.map +1 -0
  11. package/.chunks/{dialog_selectorRegions-D1YE2mYS.amd.js → dialog_selectorRegions-CePGUsCo.amd.js} +2 -2
  12. package/.chunks/dialog_selectorRegions-CePGUsCo.amd.js.map +1 -0
  13. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DtLpQTwi.es.js → dialogs.vue_vue_type_script_setup_true_lang-B5hK613K.es.js} +2 -2
  14. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B5hK613K.es.js.map +1 -0
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-xoE5yB6b.amd.js → dialogs.vue_vue_type_script_setup_true_lang-izSFcRLb.amd.js} +2 -2
  16. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-izSFcRLb.amd.js.map +1 -0
  17. package/.chunks/{forms-LTK63Ugt.es.js → forms-BsuCen2-.es.js} +7 -7
  18. package/.chunks/forms-BsuCen2-.es.js.map +1 -0
  19. package/.chunks/{forms-Dv9L8-AZ.amd.js → forms-BwGakScF.amd.js} +3 -3
  20. package/.chunks/forms-BwGakScF.amd.js.map +1 -0
  21. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-COGiIcDO.amd.js → listItem.vue_vue_type_script_setup_true_lang-CfM8kOV1.amd.js} +2 -2
  22. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CfM8kOV1.amd.js.map +1 -0
  23. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-UC3o5oK5.es.js → listItem.vue_vue_type_script_setup_true_lang-CszHDnB0.es.js} +2 -2
  24. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CszHDnB0.es.js.map +1 -0
  25. package/.chunks/{menu.vue_vue_type_style_index_0_lang-BFmZ4tvs.amd.js → menu.vue_vue_type_style_index_0_lang-DQTVNJGq.amd.js} +2 -2
  26. package/.chunks/menu.vue_vue_type_style_index_0_lang-DQTVNJGq.amd.js.map +1 -0
  27. package/.chunks/{menu.vue_vue_type_style_index_0_lang-hQu5BJPe.es.js → menu.vue_vue_type_style_index_0_lang-DmY5w4yr.es.js} +2 -2
  28. package/.chunks/menu.vue_vue_type_style_index_0_lang-DmY5w4yr.es.js.map +1 -0
  29. package/.chunks/{notice-BoZG4Mg1.amd.js → notice-CJdCc72d.amd.js} +2 -2
  30. package/.chunks/notice-CJdCc72d.amd.js.map +1 -0
  31. package/.chunks/{notice-CYutIom0.es.js → notice-Cqs1dKt8.es.js} +2 -2
  32. package/.chunks/notice-Cqs1dKt8.es.js.map +1 -0
  33. package/.chunks/{page.vue_vue_type_script_setup_true_lang-CffDh-th.amd.js → page.vue_vue_type_script_setup_true_lang-1JWduCTr.amd.js} +2 -2
  34. package/.chunks/page.vue_vue_type_script_setup_true_lang-1JWduCTr.amd.js.map +1 -0
  35. package/.chunks/{page.vue_vue_type_script_setup_true_lang-B2wjrf5z.es.js → page.vue_vue_type_script_setup_true_lang-BCfksgg3.es.js} +4 -4
  36. package/.chunks/page.vue_vue_type_script_setup_true_lang-BCfksgg3.es.js.map +1 -0
  37. package/.chunks/{popup-Cg9w4Vy-.amd.js → popup-CLhWWJDe.amd.js} +2 -2
  38. package/.chunks/popup-CLhWWJDe.amd.js.map +1 -0
  39. package/.chunks/{popup-ec_xLrTA.es.js → popup-N10MDafw.es.js} +2 -2
  40. package/.chunks/popup-N10MDafw.es.js.map +1 -0
  41. package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
  42. package/.chunks/store-esTid5oI.amd.js.map +1 -1
  43. package/.chunks/{utils-COoE8KP7.es.js → utils-B1H3EGkg.es.js} +2 -2
  44. package/.chunks/utils-B1H3EGkg.es.js.map +1 -0
  45. package/.chunks/{utils-GpKurv7L.amd.js → utils-B7GVqGBH.amd.js} +2 -2
  46. package/.chunks/utils-B7GVqGBH.amd.js.map +1 -0
  47. package/.chunks/{utils-z5wL437D.amd.js → utils-DIy2mbYd.amd.js} +2 -2
  48. package/.chunks/utils-DIy2mbYd.amd.js.map +1 -0
  49. package/.chunks/{utils-BRLYX_ZC.es.js → utils-bjr7c5my.es.js} +3 -3
  50. package/.chunks/utils-bjr7c5my.es.js.map +1 -0
  51. package/CHANGELOG.md +14 -0
  52. package/README.md +82 -82
  53. package/assets/forms.css +1 -1
  54. package/assets/formsExt.css +1 -1
  55. package/charts/charts.amd.js +1 -1
  56. package/charts/charts.amd.js.map +1 -1
  57. package/charts/charts.js +1 -1
  58. package/charts/charts.js.map +1 -1
  59. package/components/formsExt/navigationMenu/navigationMenu.d.ts +24 -0
  60. package/components/formsExt/navigationMenu/stories/items.d.ts +3 -0
  61. package/core/app.amd.js +1 -1
  62. package/core/app.amd.js.map +1 -1
  63. package/core/app.js +5 -5
  64. package/core/app.js.map +1 -1
  65. package/dialog/dialog.amd.js +1 -1
  66. package/dialog/dialog.amd.js.map +1 -1
  67. package/dialog/dialog.js +2 -2
  68. package/dialog/dialog.js.map +1 -1
  69. package/forms/forms.amd.js +1 -1
  70. package/forms/forms.js +1 -1
  71. package/forms/helpers.amd.js.map +1 -1
  72. package/forms/helpers.js.map +1 -1
  73. package/formsExt/formsExt.amd.js +1 -1
  74. package/formsExt/formsExt.amd.js.map +1 -1
  75. package/formsExt/formsExt.js +220 -213
  76. package/formsExt/formsExt.js.map +1 -1
  77. package/icomoon/Read Me.txt +7 -7
  78. package/icomoon/Topvisor icons.json +6259 -6259
  79. package/icomoon/demo-files/demo.css +158 -158
  80. package/icomoon/demo-files/demo.js +30 -30
  81. package/icomoon/demo.html +3558 -3558
  82. package/icomoon/fonts/Topvisor-2.svg +276 -276
  83. package/icomoon/style.css +780 -780
  84. package/jquery-ui.min.css +5 -5
  85. package/layout/layout.amd.js +1 -1
  86. package/layout/layout.amd.js.map +1 -1
  87. package/layout/layout.js +1 -1
  88. package/layout/layout.js.map +1 -1
  89. package/package.json +33 -33
  90. package/popup/popup.amd.js +1 -1
  91. package/popup/popup.amd.js.map +1 -1
  92. package/popup/popup.js +2 -2
  93. package/popup/popup.js.map +1 -1
  94. package/popup/worker.amd.js +1 -1
  95. package/popup/worker.amd.js.map +1 -1
  96. package/popup/worker.js +2 -2
  97. package/popup/worker.js.map +1 -1
  98. package/project/project.amd.js +1 -1
  99. package/project/project.amd.js.map +1 -1
  100. package/project/project.js +75 -76
  101. package/project/project.js.map +1 -1
  102. package/require/css.amd.js +12 -12
  103. package/tabs/tabs.amd.js.map +1 -1
  104. package/tabs/tabs.js.map +1 -1
  105. package/tabsView/tabsView.amd.js +1 -1
  106. package/tabsView/tabsView.amd.js.map +1 -1
  107. package/tabsView/tabsView.js +1 -1
  108. package/tabsView/tabsView.js.map +1 -1
  109. package/utils/check.amd.js.map +1 -1
  110. package/utils/check.js.map +1 -1
  111. package/utils/clipboard.amd.js +1 -1
  112. package/utils/clipboard.amd.js.map +1 -1
  113. package/utils/clipboard.js +1 -1
  114. package/utils/clipboard.js.map +1 -1
  115. package/utils/date.amd.js +1 -1
  116. package/utils/date.js +1 -1
  117. package/utils/device.amd.js +1 -1
  118. package/utils/device.js +1 -1
  119. package/utils/dom.amd.js.map +1 -1
  120. package/utils/dom.js.map +1 -1
  121. package/utils/image.amd.js.map +1 -1
  122. package/utils/image.js.map +1 -1
  123. package/utils/keyboard.amd.js.map +1 -1
  124. package/utils/keyboard.js.map +1 -1
  125. package/utils/lodash.amd.js +1 -1
  126. package/utils/lodash.js +1 -1
  127. package/utils/number.amd.js.map +1 -1
  128. package/utils/number.js.map +1 -1
  129. package/utils/price.amd.js +1 -1
  130. package/utils/price.amd.js.map +1 -1
  131. package/utils/price.js +1 -1
  132. package/utils/price.js.map +1 -1
  133. package/utils/route.amd.js.map +1 -1
  134. package/utils/route.js.map +1 -1
  135. package/utils/scroll.amd.js.map +1 -1
  136. package/utils/scroll.js.map +1 -1
  137. package/utils/searchers.amd.js +1 -1
  138. package/utils/searchers.amd.js.map +1 -1
  139. package/utils/searchers.js +3 -3
  140. package/utils/searchers.js.map +1 -1
  141. package/utils/string.amd.js +1 -1
  142. package/utils/string.amd.js.map +1 -1
  143. package/utils/string.js +1 -1
  144. package/utils/string.js.map +1 -1
  145. package/utils/system.amd.js.map +1 -1
  146. package/utils/system.js.map +1 -1
  147. package/utils/url.amd.js.map +1 -1
  148. package/utils/url.js.map +1 -1
  149. package/web-types.json +130 -130
  150. package/.chunks/core-Cb1K4rks.es.js.map +0 -1
  151. package/.chunks/core-DOD2Zduv.amd.js.map +0 -1
  152. package/.chunks/datepicker-BbLOzQtp.es.js.map +0 -1
  153. package/.chunks/datepicker-DNOnzVIz.amd.js.map +0 -1
  154. package/.chunks/dialog_selectorRegions-BYAZLdbp.es.js.map +0 -1
  155. package/.chunks/dialog_selectorRegions-D1YE2mYS.amd.js.map +0 -1
  156. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DtLpQTwi.es.js.map +0 -1
  157. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-xoE5yB6b.amd.js.map +0 -1
  158. package/.chunks/forms-Dv9L8-AZ.amd.js.map +0 -1
  159. package/.chunks/forms-LTK63Ugt.es.js.map +0 -1
  160. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-COGiIcDO.amd.js.map +0 -1
  161. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-UC3o5oK5.es.js.map +0 -1
  162. package/.chunks/menu.vue_vue_type_style_index_0_lang-BFmZ4tvs.amd.js.map +0 -1
  163. package/.chunks/menu.vue_vue_type_style_index_0_lang-hQu5BJPe.es.js.map +0 -1
  164. package/.chunks/notice-BoZG4Mg1.amd.js.map +0 -1
  165. package/.chunks/notice-CYutIom0.es.js.map +0 -1
  166. package/.chunks/page.vue_vue_type_script_setup_true_lang-B2wjrf5z.es.js.map +0 -1
  167. package/.chunks/page.vue_vue_type_script_setup_true_lang-CffDh-th.amd.js.map +0 -1
  168. package/.chunks/popup-Cg9w4Vy-.amd.js.map +0 -1
  169. package/.chunks/popup-ec_xLrTA.es.js.map +0 -1
  170. package/.chunks/utils-BRLYX_ZC.es.js.map +0 -1
  171. package/.chunks/utils-COoE8KP7.es.js.map +0 -1
  172. package/.chunks/utils-GpKurv7L.amd.js.map +0 -1
  173. package/.chunks/utils-z5wL437D.amd.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-B7GVqGBH.amd.js","sources":["../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["import { TopDialogUtils } from './utils';\r\nimport { TopDialogWorker } from './worker';\r\nimport { querySelectorVisible } from '@/core/utils/dom';\r\nimport type { $el } from '@/components/types';\r\n\r\nlet inited = false;\r\n\r\n/**\r\n * Инициализация глобальных событий для диалоговых окон\r\n *\r\n * Проивзодится один раз при подклчюении диалогового окна\r\n *\r\n * События не размонитруются\r\n */\r\nexport const initDialogGlobalEvents = () => {\r\n\tif (inited) return;\r\n\tinited = true;\r\n\r\n\t/**\r\n\t * Закрытие диалога по Esc\r\n\t */\r\n\tdocument.addEventListener('keydown', (e) => {\r\n\t\tif (e.key !== 'Escape') return;\r\n\t\tif (!e.target) return;\r\n\r\n\t\tconst el = e.target as HTMLElement;\r\n\r\n\t\t// событие произошло вне диалогового окна\r\n\t\tif (!el.closest('.ui-dialog')) return;\r\n\r\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\r\n\r\n\t\t// не закрывать окно при открытом TopPopup\r\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\r\n\r\n\t\t// не закрывать окно при работе с jquery autocomplete\r\n\t\tif (el.classList.contains('autocomplete')) return;\r\n\r\n\t\t// не закрывать окно при открытом fancybox\r\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\r\n\r\n\t\t$('.ui-dialog-content:visible:last').dialog('close');\r\n\t});\r\n\r\n\t/**\r\n\t * Закрытие диалога по кнопке закрыть\r\n\t */\r\n\t$(document).on('click', '[data-action=\"top-dialog-close\"]', (e) => {\r\n\t\te.preventDefault();\r\n\r\n\t\t// // навигация без истории\r\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\r\n\t\t// var viewName = $dialog.attr('id');\r\n\t\t// var pageName = getHash('view-' + viewName);\r\n\t\t// if (!pageName) {\r\n\t\t// \ttoPrevPage($dialog);\r\n\t\t//\r\n\t\t// \treturn;\r\n\t\t// }\r\n\t\t//\r\n\t\t// // навигация по истории\r\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\r\n\t\t// \tvar href = location.href;\r\n\t\t//\r\n\t\t// \thistory.go(-1);\r\n\t\t//\r\n\t\t// \tsetTimeout(() => {\r\n\t\t// \t\t// это первая страница в истории вкладки браузера\r\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\r\n\t\t// \t});\r\n\t\t// } else {\r\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\r\n\t\t// }\r\n\r\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]');\r\n\r\n\t\tconst elDialog = el.closest('.ui-dialog-content');\r\n\t\tif (!elDialog) return;\r\n\r\n\t\tconst $dialog = $(elDialog);\r\n\r\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\r\n\t\tconst toView = el.dataset.toView;\r\n\r\n\t\tif (toView == 'toPrevPage()') {\r\n\t\t\tTopDialogUtils.toPrevPage($dialog);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (toView) {\r\n\t\t\tvar viewNameAndPageLink = toView.split('-');\r\n\t\t\tvar viewName = viewNameAndPageLink.shift();\r\n\t\t\tvar pageLink = viewNameAndPageLink.join('-');\r\n\r\n\t\t\tvar $toDialog = $('#' + viewName);\r\n\t\t\tvar $toPage = $('[data-view-page=\"' + pageLink + '\"]', $toDialog);\r\n\t\t\tif (!$toPage.is(':visible')) {\r\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\r\n\r\n\t\t\t\t// добавляет текущую страницу в историю браузера\r\n\t\t\t\tlocation.hash = hash;\r\n\r\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\r\n\t\t\t\t// history.replaceState(null, '', hash);\r\n\t\t\t\t// toViewDirty(toView, 'prev');\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$dialog.dialog('close');\r\n\t});\r\n\r\n\t/**\r\n\t * Все submit должны обрабатываться через js\r\n\t */\r\n\t$(document).on('submit', '.modal-body > form, .modal-layer-body > form', function (e) {\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t/**\r\n\t * Выполнение действия по нажатию Enter\r\n\t *\r\n\t * @todo Убрать `.searcher`\r\n\t */\r\n\t$(document).on('keypress', '.ui-dialog .modal-body :input:not(.searcher), .ui-dialog .modal-body [contenteditable]', function (e) {\r\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\r\n\t\tif (e.key !== 'ENTER') return;\r\n\r\n\t\t// не выполнять submit действий при работе с jquery autocomplete\r\n\t\tif (e.target.classList.contains('autocomplete')) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// реализация submit по ctrl + Enter\r\n\t\tif (e.target.tagName === 'TEXTAREA') {\r\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\r\n\r\n\t\t\tconst elForm = e.target.closest('form');\r\n\r\n\t\t\tif (elForm) {\r\n\t\t\t\tlet elSubmit = $(':submit:visible', elForm)[0];\r\n\t\t\t\tif (!elSubmit) elSubmit = $(':submit:visible', elForm)[0];\r\n\r\n\t\t\t\telSubmit?.click();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t/**\r\n\t * Закрытие диалога по клику вне окна\r\n\t */\r\n\t$(document).on('click', '.ui-widget-overlay', function () {\r\n\t\tlet $dialogWrapper: $el | undefined = undefined;\r\n\t\tlet topZIndex = 0;\r\n\r\n\t\t$('.ui-dialog:visible').each((_index, el) => {\r\n\t\t\tconst zIndex = Number($(el).css('z-index'));\r\n\t\t\tif (zIndex < topZIndex) return;\r\n\r\n\t\t\t$dialogWrapper = $(el);\r\n\t\t\ttopZIndex = zIndex;\r\n\t\t});\r\n\r\n\t\tif ($dialogWrapper) {\r\n\t\t\t$('.ui-dialog-content', $dialogWrapper).dialog('close');\r\n\t\t}\r\n\t});\r\n\r\n\t$(window).on('resize', TopDialogUtils.recalcPositions);\r\n\tTopDialogUtils.recalcPositions();\r\n};\r\n","import 'jquery';\r\nimport { nextTick } from 'vue';\r\n\r\nimport Core from '@/core/core/core';\r\nimport { TopPopupWorker } from '@/components/popup/worker';\r\nimport { sleep, waitWhile } from '@/core/utils/system';\r\nimport { setHash } from '@/core/utils/route';\r\nimport { connectScrollShadow } from '@/core/utils/scroll';\r\n\r\nimport type { MoveDirection } from './types';\r\nimport { TopDialogWorker } from './worker';\r\nimport { initDialogGlobalEvents } from './utils.globalEvents';\r\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\r\n\r\nimport css from '../dialog/style/dialog.css?inline';\r\nimport cssM from '../dialog/style/dialog.m.css?inline';\r\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\r\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\r\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\r\nimport type { $el } from '@/components/types';\r\n\r\nCore.insertStyleToPage(css);\r\nCore.insertStyleToPage(cssM, 'm');\r\nCore.insertStyleToPage(cssPC, 'pc');\r\nCore.insertStyleToPage(cssModern);\r\nCore.insertStyleToPage(cssModernPC, 'pc');\r\n\r\nlet timerClearAnimation: NodeJS.Timeout;\r\nlet isInited = false;\r\n\r\nconst init = () => {\r\n\t// if(window.history && history.length == 1) setHash('vpn', null);\r\n\r\n\t$.extend($.ui.dialog.prototype.options, {\r\n\t\tfocus: (e: any) => {\r\n\t\t\te.target.focus();\r\n\r\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\r\n\r\n\t\t\t// setTimeout(function () {\r\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\r\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\r\n\t\t\t//\r\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\r\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\r\n\t\t\t// });\r\n\t\t},\r\n\t\tcreate: (e: any) => onCreate(e.target),\r\n\t\topen: (e: any) => onOpen(e.target),\r\n\t\tclose: (e: any) => onClose(e.target),\r\n\t\tmodal: true,\r\n\t\tresizable: false,\r\n\t\tcloseOnEscape: false,\r\n\t\twidth: 'auto',\r\n\t\tminHeight: 0,\r\n\t});\r\n\r\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\r\n\r\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\r\n\t$.ui.dialog.prototype._moveToTop = function () {\r\n\t\tthis._moveToTopOriginal();\r\n\r\n\t\tconst $dialog = $(this.element);\r\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\r\n\t};\r\n\r\n\tinitDialogGlobalEvents();\r\n\r\n\tisInited = true;\r\n};\r\n\r\n/**\r\n * Получить настройки диалогового окна из Vue компонента\r\n */\r\nconst genVueOptions = ($dialog: $el) => {\r\n\tconst options: {\r\n\t\tmodal?: boolean,\r\n\t\tposition?: any,\r\n\t} = {};\r\n\r\n\tif ($dialog[0]?.dataset?.modal === 'false') options.modal = false;\r\n\tif ($dialog[0]?.dataset?.position) options.position = JSON.parse($dialog[0].dataset.position);\r\n\r\n\treturn options;\r\n};\r\n\r\n/**\r\n * Сменить состояние диалогового окна Vue\r\n */\r\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\r\n\tif (!dialogId.startsWith('dialog_')) return;\r\n\r\n\tconst dialog = getDialogWorker(dialogId);\r\n\tif (!dialog) return;\r\n\r\n\tdialog.isOpened.value = true;\r\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\r\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\r\n\r\n\tawait nextTick();\r\n\r\n\tif (pageNameNext) {\r\n\t\tconst $dialog = $('#' + dialogId);\r\n\t\tconst $nextPage = $('[data-view-page=\"' + pageNameNext + '\"]', $dialog);\r\n\r\n\t\tif (!$nextPage.length) {\r\n\t\t\tawait waitWhile(() => !$('[data-view-page=\"' + pageNameNext + '\"]', $dialog).length);\r\n\t\t}\r\n\t}\r\n};\r\n\r\n/**\r\n * Callback for jQuery dialog onCreate\r\n */\r\nconst onCreate = (elDialog: HTMLElement) => {\r\n\tvar $dialog = $(elDialog);\r\n\tvar $dialogBody = $('.modal-body', $dialog);\r\n\r\n\tconnectScrollShadow($dialogBody[0]);\r\n\r\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\r\n\r\n\tinitPopup(elDialog);\r\n};\r\n\r\n/**\r\n * Инициирование событий TopPopup в диалоговом окне\r\n */\r\nconst initPopup = (elDialog: HTMLElement) => {\r\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\r\n\t\t// перенести popup в корневой элемент страницы диалогового окна\r\n\t\tconst $pageContent = TopDialogWorker.get$pairPage($popup).eq(1);\r\n\t\t$pageContent.prepend($popup);\r\n\t});\r\n};\r\n\r\n/**\r\n * Callback for jQuery dialog onOpen\r\n */\r\nconst onOpen = async (elDialog: HTMLElement) => {\r\n\tvar $dialog = $(elDialog);\r\n\tvar pageName = $dialog.data('view-page-active');\r\n\r\n\tconst w1 = Number($(window).width());\r\n\r\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\r\n\r\n\tconst w2 = Number($(window).width());\r\n\r\n\tconst scrollBarWidth = w2 - w1;\r\n\tif (Number($(document).height()) > Number($(window).height())) $('html').css({ 'margin-right': scrollBarWidth + 'px' });\r\n\r\n\trecalcPositions();\r\n\r\n\tconst dialog = getDialogWorker($dialog.attr('id') as string);\r\n\tdialog?.emit?.('open', pageName);\r\n};\r\n\r\n/**\r\n * Callback for jQuery dialog onClose\r\n */\r\nconst onClose = async (elDialog: HTMLElement) => {\r\n\tvar $dialog = $(elDialog);\r\n\r\n\tvar viewName = $dialog.attr('id');\r\n\tvar pageName = $dialog.data('view-page-active');\r\n\tif (pageName) {\r\n\t\tsetHash('vpn', TopDialogWorker.state.viewPageN);\r\n\t\tsetHash('view-' + viewName, null, false);\r\n\r\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) setHash('vpn', null);\r\n\t}\r\n\r\n\tif (!$('.ui-widget-overlay:visible').length){\r\n\t\tCore.state.documentClassModificators.delete('top-dialog');\r\n\r\n\t\t$('html').css({ 'margin-right': '' });\r\n\t}\r\n\r\n\t$dialog.trigger('viewAfterClose', [$dialog]);\r\n\r\n\tconst dialog = getDialogWorker($dialog.attr('id') as string);\r\n\tif (dialog) {\r\n\t\tdialog.isOpened.value = false;\r\n\t\tdialog.emit?.('close', pageName);\r\n\r\n\t\tif (dialog.onCloseOnce) {\r\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\r\n\t\t\tdialog.onCloseOnce = undefined;\r\n\t\t}\r\n\t}\r\n\r\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\r\n\twindow.dispatchEvent(new Event('resize'));\r\n};\r\n\r\n/**\r\n * Пересчитать положения и размеры открытых диалоговых окон\r\n */\r\nconst recalcPositions = () => {\r\n\t$('.ui-dialog:visible > .ui-dialog-content').each((_index, eldDialog: HTMLElement) => {\r\n\t\tconst $dialog = $(eldDialog);\r\n\t\tconst $dialogBody = $('.modal-body:visible', $dialog);\r\n\t\tconst $ui = $dialog.closest('.ui-dialog');\r\n\r\n\t\tif (!$dialogBody.length) return;\r\n\r\n\t\tconst options = genVueOptions($dialog);\r\n\r\n\t\toptions.position ??= { of: window };\r\n\r\n\t\t$dialog.dialog('option', options);\r\n\r\n\t\t$ui.removeClass('me-tightly');\r\n\t\tif (Number($ui.height()) > Number($(window).height())) $ui.addClass('me-tightly');\r\n\t});\r\n};\r\n\r\n// переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\r\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\r\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\r\n\tconst toViewParts = regexp.exec(toViewPageName);\r\n\tif (toViewParts) {\r\n\t\tconst viewName = toViewParts[1];\r\n\t\tconst pageName = toViewParts[2];\r\n\t\tconst argsString = toViewParts[3];\r\n\r\n\t\tlet args: string[] = [];\r\n\t\tif (argsString) args = argsString.split(':');\r\n\r\n\t\tawait toView(viewName, pageName, args, moveDirection);\r\n\t}\r\n};\r\n\r\n/**\r\n * Открыть диалоговое окно, возможно указать нужную страницу\r\n * @param {string|$} viewNameOr$Dialog - id страницы окна или jQuery элемент окна\r\n * @param {?string} pageName - имя страницы\r\n * @param {?Array<any>} args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\r\n * @param {?Function} callback - функция, которая будет запущена после октытия страницы\r\n */\r\nconst toView = async (\r\n\tviewNameOr$Dialog: $el | string,\r\n\tpageName?: string,\r\n\targs?: string[],\r\n\tmoveDirection?: MoveDirection,\r\n\tcallback?: Function,\r\n) => {\r\n\tif (!isInited) {\r\n\t\tawait new Promise<void>((resolve, _reject) => {\r\n\t\t\tconst timer = setInterval(() => {\r\n\t\t\t\tif (!isInited) return;\r\n\r\n\t\t\t\tclearInterval(timer);\r\n\r\n\t\t\t\tresolve();\r\n\t\t\t}, 10);\r\n\t\t});\r\n\t}\r\n\r\n\tawait nextTick();\r\n\r\n\tlet $dialog: $el;\r\n\tif (typeof (viewNameOr$Dialog) === 'object') {\r\n\t\t$dialog = viewNameOr$Dialog;\r\n\t} else {\r\n\t\t$dialog = $('#' + viewNameOr$Dialog);\r\n\t}\r\n\r\n\t// Диалоговое окно еще не загружено\r\n\tif (!$dialog.length && typeof (viewNameOr$Dialog) == 'string' && TopDialogWorker.state.load) {\r\n\t\tawait TopDialogWorker.state.load(viewNameOr$Dialog);\r\n\r\n\t\ttoView(viewNameOr$Dialog, pageName, args, moveDirection, callback);\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tawait toViewPage($dialog, pageName, args, moveDirection);\r\n\r\n\tif ($dialog.is('.ui-dialog-content')) {\r\n\t\t// var zIndexMax = 0;\r\n\t\t// $.map($('.ui-dialog'), function (el) {\r\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\r\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\r\n\t\t// });\r\n\t\t//\r\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\r\n\t\t//\r\n\t\t// var $dialogWrapper = $dialog.parent();\r\n\t\t// var $dialogOverlay = $dialogWrapper.next();\r\n\t\t//\r\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\r\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\r\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\r\n\t\t// }\r\n\r\n\t\t$dialog.dialog('open');\r\n\t} else {\r\n\t\tconst options = genVueOptions($dialog);\r\n\r\n\t\t$dialog.dialog(options);\r\n\t}\r\n\r\n\tif (callback) callback($dialog);\r\n};\r\n\r\nconst toViewPage = async ($dialog: $el, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\r\n\tif (pageName === undefined) pageName = $dialog.data('view-page-active') as string;\r\n\r\n\tif (pageName != $dialog.data('view-page-active')) {\r\n\t\tvar stopped = stopAnimations($dialog);\r\n\t\tif (stopped) await sleep(100);\r\n\t}\r\n\r\n\tif (args === undefined) args = [];\r\n\r\n\tawait updatePageVue($dialog.attr('id') as string, undefined, pageName);\r\n\r\n\tvar $modalLayers = $('> .modal-layer', $dialog);\r\n\tvar $currentPage = $('> .active', $modalLayers);\r\n\tvar $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\r\n\tvar argsString = args.join(':');\r\n\r\n\tif (moveDirection === undefined) {\r\n\t\tmoveDirection = 'next';\r\n\t\tif ($nextPage.data('order') < $currentPage.data('order')) moveDirection = 'prev';\r\n\t}\r\n\r\n\tif (!$nextPage.length) return;\r\n\r\n\t$dialog.data('view-page-active', pageName);\r\n\r\n\t// запрашиваемая страница уже открыта\r\n\tif ($nextPage.is('.active')) {\r\n\t\tif ($nextPage.data('view-page-args') != argsString) {\r\n\t\t\t$nextPage.data('view-page-args', argsString);\r\n\r\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t\t}\r\n\r\n\t\tbeforeOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\t$nextPage.data('view-page-args', argsString);\r\n\r\n\tif ($('.top-popup-wrapper', $currentPage).length) {\r\n\t\tTopPopupWorker.close($('.top-popup-wrapper', $currentPage)[0]);\r\n\t}\r\n\r\n\tif ($nextPage.closest('.ui-dialog').is(':hidden')) moveDirection = 'none';\r\n\tif (!$currentPage.length) moveDirection = 'none';\r\n\tif ($nextPage.is(':visible')) moveDirection = 'none';\r\n\tswitch (moveDirection) {\r\n\t\tcase 'prev':\r\n\t\t\t$nextPage.each((_index, el) => {\r\n\t\t\t\t$(el).insertBefore($(el).siblings('.active'));\r\n\t\t\t});\r\n\r\n\t\t\t$currentPage.addClass('right-to-center reverse');\r\n\t\t\t$nextPage.addClass('center-to-left reverse');\r\n\r\n\t\t\tbreak;\r\n\t\tcase 'next':\r\n\t\t\t$nextPage.each((_index, el) => {\r\n\t\t\t\t$(el).insertAfter($(el).siblings('.active'));\r\n\t\t\t});\r\n\r\n\t\t\t$currentPage.addClass('center-to-left');\r\n\t\t\t$nextPage.addClass('right-to-center');\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\t$dialog.attr('view-page-active', pageName);\r\n\r\n\t$currentPage.removeClass('active');\r\n\t$nextPage.addClass('active');\r\n\r\n\tbeforeOpenViewPage($dialog, $nextPage, pageName, args);\r\n\r\n\tif (moveDirection) {\r\n\t\t$dialog.addClass('i-change-page');\r\n\t\tconst delay = Number($nextPage.css('animation-duration').replace('s', '')) * 1000;\r\n\r\n\t\ttimerClearAnimation = setTimeout(function () {\r\n\t\t\tupdatePageVue($dialog.attr('id') as string, pageName, '');\r\n\t\t\tstopAnimations($dialog);\r\n\t\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t\t}, delay);\r\n\t} else {\r\n\t\tawait updatePageVue($dialog.attr('id') as string, pageName, '');\r\n\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t}\r\n};\r\n\r\n/**\r\n * К предыдущему представлению\r\n */\r\nconst toPrevPage = ($dialog: $el) => {\r\n\tvar prevPageName = '';\r\n\r\n\tvar $modalLayers = $('> .modal-layer', $dialog);\r\n\tvar $currentPage = $('> .active', $modalLayers).eq(0);\r\n\tvar $prevPage = $currentPage.prev('[data-view-page]');\r\n\tprevPageName = $prevPage.data('view-page');\r\n\r\n\tif (prevPageName) {\r\n\t\ttoViewPage($dialog, prevPageName, undefined, 'prev');\r\n\t} else {\r\n\t\t$dialog.dialog('close');\r\n\t}\r\n};\r\n\r\n/**\r\n * Для обработки событий вне vue\r\n */\r\nconst beforeOpenViewPageTimers = new Set();\r\nconst beforeOpenViewPage = ($dialog: $el, $page: $el, pageName: string, args: string[]) => {\r\n\t// группировка цепочки событий\r\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\r\n\tconst eventKey = $dialog.attr('id') + $page.eq(0).data('view-page') + pageName + args.join();\r\n\r\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\r\n\tbeforeOpenViewPageTimers.add(eventKey);\r\n\r\n\tsetTimeout(function () {\r\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\r\n\t\t$dialog.trigger('viewBeforeOpen', [$dialog, $page, pageName, args]);\r\n\t});\r\n};\r\n\r\n/**\r\n * Для обработки событий вне vue\r\n */\r\nconst afterOpenViewPage = ($dialog: $el, $page: $el, pageName: string, args: string[]) => {\r\n\tsetTimeout(function () {\r\n\t\t$dialog.trigger('viewAfterOpen', [$dialog, $page, pageName, args]);\r\n\t});\r\n};\r\n\r\n/**\r\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\r\n */\r\nconst inAnimation = ($dialog: $el) => {\r\n\treturn $dialog.is('.i-change-page');\r\n};\r\n\r\n/**\r\n * Остановить анимацию смены страницы\r\n *\r\n * @returns Вернет true, если анимация производилась и была остановлена\r\n */\r\nconst stopAnimations = ($dialog: $el) => {\r\n\tif (!inAnimation($dialog)) return false;\r\n\r\n\tclearTimeout(timerClearAnimation);\r\n\r\n\tvar $modalLayers = $('> .modal-layer', $dialog);\r\n\r\n\tvar pageName = $dialog.data('view-page-active');\r\n\t$dialog.removeClass('i-change-page');\r\n\t$('> [data-view-page]', $modalLayers).removeClass('center-to-left right-to-center reverse active');\r\n\t$('> [data-view-page=\"' + pageName + '\"]', $modalLayers).addClass('active');\r\n\r\n\treturn true;\r\n};\r\n\r\n/**\r\n * Закрыть диалоговое окно\r\n */\r\nconst close = function (dialogId: string) {\r\n\tconst $dialog = $('#' + dialogId);\r\n\r\n\tif (!$dialog.dialog('instance')) return;\r\n\r\n\t$dialog.dialog('close');\r\n};\r\n\r\n/**\r\n * Управление props.isLoading\r\n */\r\nconst setLoading = ($page: $el, isLoading: boolean, duration?: number) => {\r\n\tif (!$page.is('[data-view-page]')) $page = $('[data-view-page]:visible', $page);\r\n\r\n\tif (isLoading) {\r\n\t\tif (duration !== undefined) {\r\n\t\t\t$page.each((_index, el) => {\r\n\t\t\t\tel.style.setProperty('--dialog-loading-duration', duration + 's');\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$page.addClass('i-load-data');\r\n\t} else {\r\n\t\t$page.removeClass('i-load-data');\r\n\r\n\t\t$page.each((_index, el) => {\r\n\t\t\tel.style.setProperty('--dialog-loading-duration', '10s');\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst isLoading = ($page: $el) => {\r\n\treturn $page.is('.i-load-data');\r\n};\r\n\r\nexport const TopDialogUtils = {\r\n\tupdatePageVue,\r\n\trecalcPositions,\r\n\ttoViewDirty,\r\n\ttoView,\r\n\ttoViewPage,\r\n\ttoPrevPage,\r\n\tsetLoading,\r\n\tisLoading,\r\n\tinAnimation,\r\n\tclose,\r\n};\r\n\r\ninit();\r\n"],"names":["el","$dialog","elDialog","toView","TopDialogUtils","viewName","viewNameAndPageLink","$toPage","pageLink","$toDialog","hash","elSubmit","elForm","zIndex","topZIndex","$dialogWrapper","Core","timerClearAnimation","_a","initDialogGlobalEvents","genVueOptions","_b","options","dialog","dialogs_vue_vue_type_script_setup_true_lang","dialogId","pageNameNext","utils_system","onCreate","utils_scroll","$dialogBody","initPopup","_e","$popup","onOpen","w1","scrollBarWidth","recalcPositions","pageName","onClose","eldDialog","$ui","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","viewNameOr$Dialog","args","callback","timer","resolve","stopped","stopAnimations","updatePageVue","$nextPage","$modalLayers","$currentPage","popup_worker","toPrevPage","prevPageName","$prevPage","beforeOpenViewPageTimers","eventKey","$page","inAnimation","toViewPage","duration","init"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","./dialogs.vue_vue_type_script_setup_true_lang-xoE5yB6b.amd","../utils/system.amd"],function(k,s,t,i,u){"use strict";if(typeof t>"u")var t=window.Vue;class c{resolve;worker=t.ref(null);constructor(e){this.resolve=e}async get(){if(this.worker.value)return this.worker.value;const o=(await this.resolve()).default;this.worker.value=n(o);const a=this.worker.value;return await u.waitWhile(()=>!a.isMounted),a}async open(...e){await(await this.get()).open(...e)}async openAsLink(...e){(await this.get()).openAsLink(...e)}async close(...e){(await this.get()).close(...e)}async destroy(...e){(await this.get()).destroy(...e)}async setProps(...e){await(await this.get()).setProps(...e)}}const l=()=>{var e;const r=t.getCurrentInstance();if((e=r==null?void 0:r.type)!=null&&e.id){const o=i.getDialogWorker(r.type.id);if(o)return o}return t.inject("dialogWorker")},n=r=>i.addDialogWorker(r),w=r=>new c(r);s.useAsyncTopDialog=w,s.useTopDialog=n,s.useTopDialogSelf=l});
2
- //# sourceMappingURL=utils-z5wL437D.amd.js.map
1
+ define(["require","exports","vue","./dialogs.vue_vue_type_script_setup_true_lang-izSFcRLb.amd","../utils/system.amd"],function(k,s,t,i,u){"use strict";if(typeof t>"u")var t=window.Vue;class c{resolve;worker=t.ref(null);constructor(e){this.resolve=e}async get(){if(this.worker.value)return this.worker.value;const o=(await this.resolve()).default;this.worker.value=n(o);const a=this.worker.value;return await u.waitWhile(()=>!a.isMounted),a}async open(...e){await(await this.get()).open(...e)}async openAsLink(...e){(await this.get()).openAsLink(...e)}async close(...e){(await this.get()).close(...e)}async destroy(...e){(await this.get()).destroy(...e)}async setProps(...e){await(await this.get()).setProps(...e)}}const l=()=>{var e;const r=t.getCurrentInstance();if((e=r==null?void 0:r.type)!=null&&e.id){const o=i.getDialogWorker(r.type.id);if(o)return o}return t.inject("dialogWorker")},n=r=>i.addDialogWorker(r),w=r=>new c(r);s.useAsyncTopDialog=w,s.useTopDialog=n,s.useTopDialogSelf=l});
2
+ //# sourceMappingURL=utils-DIy2mbYd.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-DIy2mbYd.amd.js","sources":["../../src/components/dialog/dialog/composables/asyncDialogHandle.ts","../../src/components/dialog/dialog/composables/utils.ts"],"sourcesContent":["import type { Ref } from 'vue';\r\nimport { ref } from 'vue';\r\nimport { useTopDialog } from './utils';\r\nimport { waitWhile } from '@/core/utils/system';\r\nimport type { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';\r\nimport { TopDialogHandle } from './dialogHandle';\r\n\r\n/**\r\n * Объект для работы с асинхронным диалоговым окном\r\n *\r\n * Является прослойкой для доступа к TopDialogHandle\r\n */\r\nexport class AsyncTopDialogHandle<T extends TopDialogComponent> {\r\n\r\n\t/**\r\n\t * Функция, определяющая компонент TopDialogComponent\r\n\t */\r\n\treadonly resolve: AsyncTopDialogComponentLoader<T>;\r\n\r\n\t/**\r\n\t * Реактивная Сссылка на объект worker,\r\n\t *\r\n\t * Ссылка не будет указывать на объект, если диалоговое окно еще не загружено\r\n\t */\r\n\treadonly worker: Ref<TopDialogHandle<T> | null> = ref(null);\r\n\r\n\tconstructor(resolve: AsyncTopDialogComponentLoader<T>) {\r\n\t\tthis.resolve = resolve;\r\n\t}\r\n\r\n\t/**\r\n\t * Получить доступ к TopDialogHandle\r\n\t */\r\n\tasync get() {\r\n\t\tif (this.worker.value) return this.worker.value;\r\n\r\n\t\tconst result = await this.resolve();\r\n\t\tconst TopDialogComponent = result.default;\r\n\r\n\t\tthis.worker.value = useTopDialog(TopDialogComponent);\r\n\r\n\t\tconst worker = this.worker.value;\r\n\r\n\t\tawait waitWhile(() => !worker.isMounted);\r\n\r\n\t\treturn worker;\r\n\t}\r\n\r\n\t/**\r\n\t * Открыть диалоговое окно\r\n\t */\r\n\tasync open(...args: Parameters<TopDialogHandle<T>['open']>) {\r\n\t\tconst worker = await this.get();\r\n\r\n\t\tawait worker.open(...args);\r\n\t}\r\n\r\n\t/**\r\n\t * Открыть диалоговое окно как ссылку, для хеш-навигации\r\n\t *\r\n\t * Только общедоступные диалоговые окна, расположенные в @/dialogs\r\n\t */\r\n\tasync openAsLink(...args: Parameters<TopDialogHandle<T>['open']>) {\r\n\t\tconst worker = await this.get();\r\n\r\n\t\tvoid worker.openAsLink(...args);\r\n\t}\r\n\r\n\t/**\r\n\t * Закрыть диалоговое окно\r\n\t *\r\n\t * Не меняет состояние компонента диалогового окна\r\n\t */\r\n\tasync close(...args: Parameters<TopDialogHandle<T>['close']>) {\r\n\t\tconst worker = await this.get();\r\n\r\n\t\tworker.close(...args);\r\n\t}\r\n\r\n\t/**\r\n\t * Размонтировать виджет диалогового окна\r\n\t */\r\n\tasync destroy(...args: Parameters<TopDialogHandle<T>['close']>) {\r\n\t\tconst worker = await this.get();\r\n\r\n\t\tworker.destroy(...args);\r\n\t}\r\n\r\n\t/**\r\n\t * Устанвоить props\r\n\t *\r\n\t * Полностью сбрасывается состояние props\r\n\t */\r\n\tasync setProps(...args: Parameters<TopDialogHandle<T>['setProps']>) {\r\n\t\tconst worker = await this.get();\r\n\r\n\t\tawait worker.setProps(...args);\r\n\t}\r\n}\r\n","import { getCurrentInstance, inject } from 'vue';\r\nimport { TopDialogHandle } from './dialogHandle';\r\nimport { AsyncTopDialogHandle } from './asyncDialogHandle';\r\nimport type { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';\r\nimport { addDialogWorker, getDialogWorker } from '../dialogs/dialogs.vue';\r\n\r\n/**\r\n * Получить объект управленя текущим диалоговым окном\r\n */\r\nexport const useTopDialogSelf = () => {\r\n\t// вызов из пользовтаельского компонента диалога\r\n\tconst topDialogComponent = getCurrentInstance() as any;\r\n\tif (topDialogComponent?.type?.id) {\r\n\t\tconst dialogWorker = getDialogWorker(topDialogComponent.type.id);\r\n\t\tif (dialogWorker) return dialogWorker;\r\n\t}\r\n\r\n\treturn inject('dialogWorker') as TopDialogHandle<TopDialogComponent>;\r\n};\r\n\r\n/**\r\n * Получить объект управленя диалоговым окном\r\n *\r\n * При первом вызове компонент диалогового окна будет внедрен в компонент DialogWrapper\r\n */\r\nexport const useTopDialog = <T extends TopDialogComponent>(DialogComponent: T): TopDialogHandle<T> => {\r\n\treturn addDialogWorker(DialogComponent);\r\n};\r\n\r\n/**\r\n * Получить объект управленя асинхронным диалоговым окном\r\n *\r\n * Компонент диалогового окна будет загружен и инициирован при первом взаимодействии с объектом\r\n *\r\n * Использует useTopDialog()\r\n */\r\nexport const useAsyncTopDialog = <T extends TopDialogComponent>(resolve: AsyncTopDialogComponentLoader<T>): AsyncTopDialogHandle<T> => {\r\n\treturn new AsyncTopDialogHandle(resolve);\r\n};\r\n"],"names":["AsyncTopDialogHandle","vue","resolve","TopDialogComponent","worker","args","useTopDialogSelf","topDialogComponent","_a","dialogWorker","useTopDialog","DialogComponent","dialogs_vue_vue_type_script_setup_true_lang","useAsyncTopDialog"],"mappings":"wLAYO,MAAAA,CAAA,CAAyD,QAKtD,OAAAC,EAAA,IAAA,IAAA,iBAUR,KAAA,QAAAC,CAAe,aAOf,GAAA,KAAA,OAAA,MAAA,OAAA,KAAA,OAAA,MAGA,MAAAC,GADA,MAAA,KAAA,QAAA,GACA,+BAIA,MAAAC,EAAA,KAAA,OAAA,iDAIAA,CAAO,CACR,MAAA,QAAAC,EAAA,CAQC,MAFA,MAAA,KAAA,IAAA,GAEA,KAAA,GAAAA,CAAA,CAAyB,CAC1B,MAAA,cAAAA,EAAA,EAQC,MAAA,KAAA,IAAA,GAEA,WAAA,GAAAA,CAAA,CAA8B,CAC/B,MAAA,SAAAA,EAAA,EAQC,MAAA,KAAA,IAAA,GAEA,MAAA,GAAAA,CAAA,CAAoB,CACrB,MAAA,WAAAA,EAAA,EAMC,MAAA,KAAA,IAAA,GAEA,QAAA,GAAAA,CAAA,CAAsB,CACvB,MAAA,YAAAA,EAAA,CAUC,MAFA,MAAA,KAAA,IAAA,GAEA,SAAA,GAAAA,CAAA,CAA6B,CAE/B,CCzFO,MAAAC,EAAA,IAAA,OAEN,MAAAC,EAAAN,EAAA,mBAAA,EACA,IAAAO,EAAAD,GAAA,YAAAA,EAAA,OAAA,MAAAC,EAAA,GAAA,sCAEC,GAAAC,EAAA,OAAAA,CAAyB,CAG1B,OAAAR,EAAA,OAAA,cAAA,CACD,EAOaS,EAAAC,GACZC,EAAA,gBAAAD,CAAA,EAUYE,EAAAX,GACZ,IAAAF,EAAAE,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { nextTick as T } from "vue";
2
- import { C as c } from "./forms-LTK63Ugt.es.js";
2
+ import { C as c } from "./forms-BsuCen2-.es.js";
3
3
  import { TopPopupWorker as V } from "../popup/worker.js";
4
4
  import { sleep as W, waitWhile as j } from "../utils/system.js";
5
5
  import { setHash as m } from "../utils/route.js";
6
6
  import { connectScrollShadow as A } from "../utils/scroll.js";
7
- import { T as l, g as y } from "./dialogs.vue_vue_type_script_setup_true_lang-DtLpQTwi.es.js";
7
+ import { T as l, g as y } from "./dialogs.vue_vue_type_script_setup_true_lang-B5hK613K.es.js";
8
8
  import { querySelectorVisible as _ } from "../utils/dom.js";
9
9
  $;
10
10
  let k = !1;
@@ -222,4 +222,4 @@ I();
222
222
  export {
223
223
  v as TopDialogUtils
224
224
  };
225
- //# sourceMappingURL=utils-BRLYX_ZC.es.js.map
225
+ //# sourceMappingURL=utils-bjr7c5my.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-bjr7c5my.es.js","sources":["../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["/**\r\n * см. /.storybook/preview-head.html\r\n */\r\nexport default $;\r\n","import { TopDialogUtils } from './utils';\r\nimport { TopDialogWorker } from './worker';\r\nimport { querySelectorVisible } from '@/core/utils/dom';\r\nimport type { $el } from '@/components/types';\r\n\r\nlet inited = false;\r\n\r\n/**\r\n * Инициализация глобальных событий для диалоговых окон\r\n *\r\n * Проивзодится один раз при подклчюении диалогового окна\r\n *\r\n * События не размонитруются\r\n */\r\nexport const initDialogGlobalEvents = () => {\r\n\tif (inited) return;\r\n\tinited = true;\r\n\r\n\t/**\r\n\t * Закрытие диалога по Esc\r\n\t */\r\n\tdocument.addEventListener('keydown', (e) => {\r\n\t\tif (e.key !== 'Escape') return;\r\n\t\tif (!e.target) return;\r\n\r\n\t\tconst el = e.target as HTMLElement;\r\n\r\n\t\t// событие произошло вне диалогового окна\r\n\t\tif (!el.closest('.ui-dialog')) return;\r\n\r\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\r\n\r\n\t\t// не закрывать окно при открытом TopPopup\r\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\r\n\r\n\t\t// не закрывать окно при работе с jquery autocomplete\r\n\t\tif (el.classList.contains('autocomplete')) return;\r\n\r\n\t\t// не закрывать окно при открытом fancybox\r\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\r\n\r\n\t\t$('.ui-dialog-content:visible:last').dialog('close');\r\n\t});\r\n\r\n\t/**\r\n\t * Закрытие диалога по кнопке закрыть\r\n\t */\r\n\t$(document).on('click', '[data-action=\"top-dialog-close\"]', (e) => {\r\n\t\te.preventDefault();\r\n\r\n\t\t// // навигация без истории\r\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\r\n\t\t// var viewName = $dialog.attr('id');\r\n\t\t// var pageName = getHash('view-' + viewName);\r\n\t\t// if (!pageName) {\r\n\t\t// \ttoPrevPage($dialog);\r\n\t\t//\r\n\t\t// \treturn;\r\n\t\t// }\r\n\t\t//\r\n\t\t// // навигация по истории\r\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\r\n\t\t// \tvar href = location.href;\r\n\t\t//\r\n\t\t// \thistory.go(-1);\r\n\t\t//\r\n\t\t// \tsetTimeout(() => {\r\n\t\t// \t\t// это первая страница в истории вкладки браузера\r\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\r\n\t\t// \t});\r\n\t\t// } else {\r\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\r\n\t\t// }\r\n\r\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]');\r\n\r\n\t\tconst elDialog = el.closest('.ui-dialog-content');\r\n\t\tif (!elDialog) return;\r\n\r\n\t\tconst $dialog = $(elDialog);\r\n\r\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\r\n\t\tconst toView = el.dataset.toView;\r\n\r\n\t\tif (toView == 'toPrevPage()') {\r\n\t\t\tTopDialogUtils.toPrevPage($dialog);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (toView) {\r\n\t\t\tvar viewNameAndPageLink = toView.split('-');\r\n\t\t\tvar viewName = viewNameAndPageLink.shift();\r\n\t\t\tvar pageLink = viewNameAndPageLink.join('-');\r\n\r\n\t\t\tvar $toDialog = $('#' + viewName);\r\n\t\t\tvar $toPage = $('[data-view-page=\"' + pageLink + '\"]', $toDialog);\r\n\t\t\tif (!$toPage.is(':visible')) {\r\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\r\n\r\n\t\t\t\t// добавляет текущую страницу в историю браузера\r\n\t\t\t\tlocation.hash = hash;\r\n\r\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\r\n\t\t\t\t// history.replaceState(null, '', hash);\r\n\t\t\t\t// toViewDirty(toView, 'prev');\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$dialog.dialog('close');\r\n\t});\r\n\r\n\t/**\r\n\t * Все submit должны обрабатываться через js\r\n\t */\r\n\t$(document).on('submit', '.modal-body > form, .modal-layer-body > form', function (e) {\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t/**\r\n\t * Выполнение действия по нажатию Enter\r\n\t *\r\n\t * @todo Убрать `.searcher`\r\n\t */\r\n\t$(document).on('keypress', '.ui-dialog .modal-body :input:not(.searcher), .ui-dialog .modal-body [contenteditable]', function (e) {\r\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\r\n\t\tif (e.key !== 'ENTER') return;\r\n\r\n\t\t// не выполнять submit действий при работе с jquery autocomplete\r\n\t\tif (e.target.classList.contains('autocomplete')) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// реализация submit по ctrl + Enter\r\n\t\tif (e.target.tagName === 'TEXTAREA') {\r\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\r\n\r\n\t\t\tconst elForm = e.target.closest('form');\r\n\r\n\t\t\tif (elForm) {\r\n\t\t\t\tlet elSubmit = $(':submit:visible', elForm)[0];\r\n\t\t\t\tif (!elSubmit) elSubmit = $(':submit:visible', elForm)[0];\r\n\r\n\t\t\t\telSubmit?.click();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t/**\r\n\t * Закрытие диалога по клику вне окна\r\n\t */\r\n\t$(document).on('click', '.ui-widget-overlay', function () {\r\n\t\tlet $dialogWrapper: $el | undefined = undefined;\r\n\t\tlet topZIndex = 0;\r\n\r\n\t\t$('.ui-dialog:visible').each((_index, el) => {\r\n\t\t\tconst zIndex = Number($(el).css('z-index'));\r\n\t\t\tif (zIndex < topZIndex) return;\r\n\r\n\t\t\t$dialogWrapper = $(el);\r\n\t\t\ttopZIndex = zIndex;\r\n\t\t});\r\n\r\n\t\tif ($dialogWrapper) {\r\n\t\t\t$('.ui-dialog-content', $dialogWrapper).dialog('close');\r\n\t\t}\r\n\t});\r\n\r\n\t$(window).on('resize', TopDialogUtils.recalcPositions);\r\n\tTopDialogUtils.recalcPositions();\r\n};\r\n","import 'jquery';\r\nimport { nextTick } from 'vue';\r\n\r\nimport Core from '@/core/core/core';\r\nimport { TopPopupWorker } from '@/components/popup/worker';\r\nimport { sleep, waitWhile } from '@/core/utils/system';\r\nimport { setHash } from '@/core/utils/route';\r\nimport { connectScrollShadow } from '@/core/utils/scroll';\r\n\r\nimport type { MoveDirection } from './types';\r\nimport { TopDialogWorker } from './worker';\r\nimport { initDialogGlobalEvents } from './utils.globalEvents';\r\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\r\n\r\nimport css from '../dialog/style/dialog.css?inline';\r\nimport cssM from '../dialog/style/dialog.m.css?inline';\r\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\r\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\r\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\r\nimport type { $el } from '@/components/types';\r\n\r\nCore.insertStyleToPage(css);\r\nCore.insertStyleToPage(cssM, 'm');\r\nCore.insertStyleToPage(cssPC, 'pc');\r\nCore.insertStyleToPage(cssModern);\r\nCore.insertStyleToPage(cssModernPC, 'pc');\r\n\r\nlet timerClearAnimation: NodeJS.Timeout;\r\nlet isInited = false;\r\n\r\nconst init = () => {\r\n\t// if(window.history && history.length == 1) setHash('vpn', null);\r\n\r\n\t$.extend($.ui.dialog.prototype.options, {\r\n\t\tfocus: (e: any) => {\r\n\t\t\te.target.focus();\r\n\r\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\r\n\r\n\t\t\t// setTimeout(function () {\r\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\r\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\r\n\t\t\t//\r\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\r\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\r\n\t\t\t// });\r\n\t\t},\r\n\t\tcreate: (e: any) => onCreate(e.target),\r\n\t\topen: (e: any) => onOpen(e.target),\r\n\t\tclose: (e: any) => onClose(e.target),\r\n\t\tmodal: true,\r\n\t\tresizable: false,\r\n\t\tcloseOnEscape: false,\r\n\t\twidth: 'auto',\r\n\t\tminHeight: 0,\r\n\t});\r\n\r\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\r\n\r\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\r\n\t$.ui.dialog.prototype._moveToTop = function () {\r\n\t\tthis._moveToTopOriginal();\r\n\r\n\t\tconst $dialog = $(this.element);\r\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\r\n\t};\r\n\r\n\tinitDialogGlobalEvents();\r\n\r\n\tisInited = true;\r\n};\r\n\r\n/**\r\n * Получить настройки диалогового окна из Vue компонента\r\n */\r\nconst genVueOptions = ($dialog: $el) => {\r\n\tconst options: {\r\n\t\tmodal?: boolean,\r\n\t\tposition?: any,\r\n\t} = {};\r\n\r\n\tif ($dialog[0]?.dataset?.modal === 'false') options.modal = false;\r\n\tif ($dialog[0]?.dataset?.position) options.position = JSON.parse($dialog[0].dataset.position);\r\n\r\n\treturn options;\r\n};\r\n\r\n/**\r\n * Сменить состояние диалогового окна Vue\r\n */\r\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\r\n\tif (!dialogId.startsWith('dialog_')) return;\r\n\r\n\tconst dialog = getDialogWorker(dialogId);\r\n\tif (!dialog) return;\r\n\r\n\tdialog.isOpened.value = true;\r\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\r\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\r\n\r\n\tawait nextTick();\r\n\r\n\tif (pageNameNext) {\r\n\t\tconst $dialog = $('#' + dialogId);\r\n\t\tconst $nextPage = $('[data-view-page=\"' + pageNameNext + '\"]', $dialog);\r\n\r\n\t\tif (!$nextPage.length) {\r\n\t\t\tawait waitWhile(() => !$('[data-view-page=\"' + pageNameNext + '\"]', $dialog).length);\r\n\t\t}\r\n\t}\r\n};\r\n\r\n/**\r\n * Callback for jQuery dialog onCreate\r\n */\r\nconst onCreate = (elDialog: HTMLElement) => {\r\n\tvar $dialog = $(elDialog);\r\n\tvar $dialogBody = $('.modal-body', $dialog);\r\n\r\n\tconnectScrollShadow($dialogBody[0]);\r\n\r\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\r\n\r\n\tinitPopup(elDialog);\r\n};\r\n\r\n/**\r\n * Инициирование событий TopPopup в диалоговом окне\r\n */\r\nconst initPopup = (elDialog: HTMLElement) => {\r\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\r\n\t\t// перенести popup в корневой элемент страницы диалогового окна\r\n\t\tconst $pageContent = TopDialogWorker.get$pairPage($popup).eq(1);\r\n\t\t$pageContent.prepend($popup);\r\n\t});\r\n};\r\n\r\n/**\r\n * Callback for jQuery dialog onOpen\r\n */\r\nconst onOpen = async (elDialog: HTMLElement) => {\r\n\tvar $dialog = $(elDialog);\r\n\tvar pageName = $dialog.data('view-page-active');\r\n\r\n\tconst w1 = Number($(window).width());\r\n\r\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\r\n\r\n\tconst w2 = Number($(window).width());\r\n\r\n\tconst scrollBarWidth = w2 - w1;\r\n\tif (Number($(document).height()) > Number($(window).height())) $('html').css({ 'margin-right': scrollBarWidth + 'px' });\r\n\r\n\trecalcPositions();\r\n\r\n\tconst dialog = getDialogWorker($dialog.attr('id') as string);\r\n\tdialog?.emit?.('open', pageName);\r\n};\r\n\r\n/**\r\n * Callback for jQuery dialog onClose\r\n */\r\nconst onClose = async (elDialog: HTMLElement) => {\r\n\tvar $dialog = $(elDialog);\r\n\r\n\tvar viewName = $dialog.attr('id');\r\n\tvar pageName = $dialog.data('view-page-active');\r\n\tif (pageName) {\r\n\t\tsetHash('vpn', TopDialogWorker.state.viewPageN);\r\n\t\tsetHash('view-' + viewName, null, false);\r\n\r\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) setHash('vpn', null);\r\n\t}\r\n\r\n\tif (!$('.ui-widget-overlay:visible').length){\r\n\t\tCore.state.documentClassModificators.delete('top-dialog');\r\n\r\n\t\t$('html').css({ 'margin-right': '' });\r\n\t}\r\n\r\n\t$dialog.trigger('viewAfterClose', [$dialog]);\r\n\r\n\tconst dialog = getDialogWorker($dialog.attr('id') as string);\r\n\tif (dialog) {\r\n\t\tdialog.isOpened.value = false;\r\n\t\tdialog.emit?.('close', pageName);\r\n\r\n\t\tif (dialog.onCloseOnce) {\r\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\r\n\t\t\tdialog.onCloseOnce = undefined;\r\n\t\t}\r\n\t}\r\n\r\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\r\n\twindow.dispatchEvent(new Event('resize'));\r\n};\r\n\r\n/**\r\n * Пересчитать положения и размеры открытых диалоговых окон\r\n */\r\nconst recalcPositions = () => {\r\n\t$('.ui-dialog:visible > .ui-dialog-content').each((_index, eldDialog: HTMLElement) => {\r\n\t\tconst $dialog = $(eldDialog);\r\n\t\tconst $dialogBody = $('.modal-body:visible', $dialog);\r\n\t\tconst $ui = $dialog.closest('.ui-dialog');\r\n\r\n\t\tif (!$dialogBody.length) return;\r\n\r\n\t\tconst options = genVueOptions($dialog);\r\n\r\n\t\toptions.position ??= { of: window };\r\n\r\n\t\t$dialog.dialog('option', options);\r\n\r\n\t\t$ui.removeClass('me-tightly');\r\n\t\tif (Number($ui.height()) > Number($(window).height())) $ui.addClass('me-tightly');\r\n\t});\r\n};\r\n\r\n// переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\r\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\r\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\r\n\tconst toViewParts = regexp.exec(toViewPageName);\r\n\tif (toViewParts) {\r\n\t\tconst viewName = toViewParts[1];\r\n\t\tconst pageName = toViewParts[2];\r\n\t\tconst argsString = toViewParts[3];\r\n\r\n\t\tlet args: string[] = [];\r\n\t\tif (argsString) args = argsString.split(':');\r\n\r\n\t\tawait toView(viewName, pageName, args, moveDirection);\r\n\t}\r\n};\r\n\r\n/**\r\n * Открыть диалоговое окно, возможно указать нужную страницу\r\n * @param {string|$} viewNameOr$Dialog - id страницы окна или jQuery элемент окна\r\n * @param {?string} pageName - имя страницы\r\n * @param {?Array<any>} args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\r\n * @param {?Function} callback - функция, которая будет запущена после октытия страницы\r\n */\r\nconst toView = async (\r\n\tviewNameOr$Dialog: $el | string,\r\n\tpageName?: string,\r\n\targs?: string[],\r\n\tmoveDirection?: MoveDirection,\r\n\tcallback?: Function,\r\n) => {\r\n\tif (!isInited) {\r\n\t\tawait new Promise<void>((resolve, _reject) => {\r\n\t\t\tconst timer = setInterval(() => {\r\n\t\t\t\tif (!isInited) return;\r\n\r\n\t\t\t\tclearInterval(timer);\r\n\r\n\t\t\t\tresolve();\r\n\t\t\t}, 10);\r\n\t\t});\r\n\t}\r\n\r\n\tawait nextTick();\r\n\r\n\tlet $dialog: $el;\r\n\tif (typeof (viewNameOr$Dialog) === 'object') {\r\n\t\t$dialog = viewNameOr$Dialog;\r\n\t} else {\r\n\t\t$dialog = $('#' + viewNameOr$Dialog);\r\n\t}\r\n\r\n\t// Диалоговое окно еще не загружено\r\n\tif (!$dialog.length && typeof (viewNameOr$Dialog) == 'string' && TopDialogWorker.state.load) {\r\n\t\tawait TopDialogWorker.state.load(viewNameOr$Dialog);\r\n\r\n\t\ttoView(viewNameOr$Dialog, pageName, args, moveDirection, callback);\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tawait toViewPage($dialog, pageName, args, moveDirection);\r\n\r\n\tif ($dialog.is('.ui-dialog-content')) {\r\n\t\t// var zIndexMax = 0;\r\n\t\t// $.map($('.ui-dialog'), function (el) {\r\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\r\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\r\n\t\t// });\r\n\t\t//\r\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\r\n\t\t//\r\n\t\t// var $dialogWrapper = $dialog.parent();\r\n\t\t// var $dialogOverlay = $dialogWrapper.next();\r\n\t\t//\r\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\r\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\r\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\r\n\t\t// }\r\n\r\n\t\t$dialog.dialog('open');\r\n\t} else {\r\n\t\tconst options = genVueOptions($dialog);\r\n\r\n\t\t$dialog.dialog(options);\r\n\t}\r\n\r\n\tif (callback) callback($dialog);\r\n};\r\n\r\nconst toViewPage = async ($dialog: $el, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\r\n\tif (pageName === undefined) pageName = $dialog.data('view-page-active') as string;\r\n\r\n\tif (pageName != $dialog.data('view-page-active')) {\r\n\t\tvar stopped = stopAnimations($dialog);\r\n\t\tif (stopped) await sleep(100);\r\n\t}\r\n\r\n\tif (args === undefined) args = [];\r\n\r\n\tawait updatePageVue($dialog.attr('id') as string, undefined, pageName);\r\n\r\n\tvar $modalLayers = $('> .modal-layer', $dialog);\r\n\tvar $currentPage = $('> .active', $modalLayers);\r\n\tvar $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\r\n\tvar argsString = args.join(':');\r\n\r\n\tif (moveDirection === undefined) {\r\n\t\tmoveDirection = 'next';\r\n\t\tif ($nextPage.data('order') < $currentPage.data('order')) moveDirection = 'prev';\r\n\t}\r\n\r\n\tif (!$nextPage.length) return;\r\n\r\n\t$dialog.data('view-page-active', pageName);\r\n\r\n\t// запрашиваемая страница уже открыта\r\n\tif ($nextPage.is('.active')) {\r\n\t\tif ($nextPage.data('view-page-args') != argsString) {\r\n\t\t\t$nextPage.data('view-page-args', argsString);\r\n\r\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t\t}\r\n\r\n\t\tbeforeOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\t$nextPage.data('view-page-args', argsString);\r\n\r\n\tif ($('.top-popup-wrapper', $currentPage).length) {\r\n\t\tTopPopupWorker.close($('.top-popup-wrapper', $currentPage)[0]);\r\n\t}\r\n\r\n\tif ($nextPage.closest('.ui-dialog').is(':hidden')) moveDirection = 'none';\r\n\tif (!$currentPage.length) moveDirection = 'none';\r\n\tif ($nextPage.is(':visible')) moveDirection = 'none';\r\n\tswitch (moveDirection) {\r\n\t\tcase 'prev':\r\n\t\t\t$nextPage.each((_index, el) => {\r\n\t\t\t\t$(el).insertBefore($(el).siblings('.active'));\r\n\t\t\t});\r\n\r\n\t\t\t$currentPage.addClass('right-to-center reverse');\r\n\t\t\t$nextPage.addClass('center-to-left reverse');\r\n\r\n\t\t\tbreak;\r\n\t\tcase 'next':\r\n\t\t\t$nextPage.each((_index, el) => {\r\n\t\t\t\t$(el).insertAfter($(el).siblings('.active'));\r\n\t\t\t});\r\n\r\n\t\t\t$currentPage.addClass('center-to-left');\r\n\t\t\t$nextPage.addClass('right-to-center');\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\t$dialog.attr('view-page-active', pageName);\r\n\r\n\t$currentPage.removeClass('active');\r\n\t$nextPage.addClass('active');\r\n\r\n\tbeforeOpenViewPage($dialog, $nextPage, pageName, args);\r\n\r\n\tif (moveDirection) {\r\n\t\t$dialog.addClass('i-change-page');\r\n\t\tconst delay = Number($nextPage.css('animation-duration').replace('s', '')) * 1000;\r\n\r\n\t\ttimerClearAnimation = setTimeout(function () {\r\n\t\t\tupdatePageVue($dialog.attr('id') as string, pageName, '');\r\n\t\t\tstopAnimations($dialog);\r\n\t\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t\t}, delay);\r\n\t} else {\r\n\t\tawait updatePageVue($dialog.attr('id') as string, pageName, '');\r\n\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\r\n\t}\r\n};\r\n\r\n/**\r\n * К предыдущему представлению\r\n */\r\nconst toPrevPage = ($dialog: $el) => {\r\n\tvar prevPageName = '';\r\n\r\n\tvar $modalLayers = $('> .modal-layer', $dialog);\r\n\tvar $currentPage = $('> .active', $modalLayers).eq(0);\r\n\tvar $prevPage = $currentPage.prev('[data-view-page]');\r\n\tprevPageName = $prevPage.data('view-page');\r\n\r\n\tif (prevPageName) {\r\n\t\ttoViewPage($dialog, prevPageName, undefined, 'prev');\r\n\t} else {\r\n\t\t$dialog.dialog('close');\r\n\t}\r\n};\r\n\r\n/**\r\n * Для обработки событий вне vue\r\n */\r\nconst beforeOpenViewPageTimers = new Set();\r\nconst beforeOpenViewPage = ($dialog: $el, $page: $el, pageName: string, args: string[]) => {\r\n\t// группировка цепочки событий\r\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\r\n\tconst eventKey = $dialog.attr('id') + $page.eq(0).data('view-page') + pageName + args.join();\r\n\r\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\r\n\tbeforeOpenViewPageTimers.add(eventKey);\r\n\r\n\tsetTimeout(function () {\r\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\r\n\t\t$dialog.trigger('viewBeforeOpen', [$dialog, $page, pageName, args]);\r\n\t});\r\n};\r\n\r\n/**\r\n * Для обработки событий вне vue\r\n */\r\nconst afterOpenViewPage = ($dialog: $el, $page: $el, pageName: string, args: string[]) => {\r\n\tsetTimeout(function () {\r\n\t\t$dialog.trigger('viewAfterOpen', [$dialog, $page, pageName, args]);\r\n\t});\r\n};\r\n\r\n/**\r\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\r\n */\r\nconst inAnimation = ($dialog: $el) => {\r\n\treturn $dialog.is('.i-change-page');\r\n};\r\n\r\n/**\r\n * Остановить анимацию смены страницы\r\n *\r\n * @returns Вернет true, если анимация производилась и была остановлена\r\n */\r\nconst stopAnimations = ($dialog: $el) => {\r\n\tif (!inAnimation($dialog)) return false;\r\n\r\n\tclearTimeout(timerClearAnimation);\r\n\r\n\tvar $modalLayers = $('> .modal-layer', $dialog);\r\n\r\n\tvar pageName = $dialog.data('view-page-active');\r\n\t$dialog.removeClass('i-change-page');\r\n\t$('> [data-view-page]', $modalLayers).removeClass('center-to-left right-to-center reverse active');\r\n\t$('> [data-view-page=\"' + pageName + '\"]', $modalLayers).addClass('active');\r\n\r\n\treturn true;\r\n};\r\n\r\n/**\r\n * Закрыть диалоговое окно\r\n */\r\nconst close = function (dialogId: string) {\r\n\tconst $dialog = $('#' + dialogId);\r\n\r\n\tif (!$dialog.dialog('instance')) return;\r\n\r\n\t$dialog.dialog('close');\r\n};\r\n\r\n/**\r\n * Управление props.isLoading\r\n */\r\nconst setLoading = ($page: $el, isLoading: boolean, duration?: number) => {\r\n\tif (!$page.is('[data-view-page]')) $page = $('[data-view-page]:visible', $page);\r\n\r\n\tif (isLoading) {\r\n\t\tif (duration !== undefined) {\r\n\t\t\t$page.each((_index, el) => {\r\n\t\t\t\tel.style.setProperty('--dialog-loading-duration', duration + 's');\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$page.addClass('i-load-data');\r\n\t} else {\r\n\t\t$page.removeClass('i-load-data');\r\n\r\n\t\t$page.each((_index, el) => {\r\n\t\t\tel.style.setProperty('--dialog-loading-duration', '10s');\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst isLoading = ($page: $el) => {\r\n\treturn $page.is('.i-load-data');\r\n};\r\n\r\nexport const TopDialogUtils = {\r\n\tupdatePageVue,\r\n\trecalcPositions,\r\n\ttoViewDirty,\r\n\ttoView,\r\n\ttoViewPage,\r\n\ttoPrevPage,\r\n\tsetLoading,\r\n\tisLoading,\r\n\tinAnimation,\r\n\tclose,\r\n};\r\n\r\ninit();\r\n"],"names":["inited","initDialogGlobalEvents","el","querySelectorVisible","elDialog","$dialog","toView","TopDialogUtils","viewNameAndPageLink","viewName","pageLink","$toDialog","$toPage","hash","TopDialogWorker","elForm","elSubmit","$dialogWrapper","topZIndex","_index","zIndex","Core","css","cssM","cssPC","cssModern","cssModernPC","timerClearAnimation","isInited","init","_a","onCreate","onOpen","onClose","genVueOptions","options","_b","_d","_c","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","$dialogBody","connectScrollShadow","initPopup","_e","$popup","w1","scrollBarWidth","recalcPositions","setHash","eldDialog","$ui","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","args","viewNameOr$Dialog","callback","resolve","_reject","timer","toViewPage","stopped","stopAnimations","sleep","$modalLayers","$currentPage","$nextPage","beforeOpenViewPage","afterOpenViewPage","TopPopupWorker","delay","toPrevPage","prevPageName","$prevPage","beforeOpenViewPageTimers","$page","eventKey","inAnimation","close","setLoading","isLoading","duration"],"mappings":"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"}
package/CHANGELOG.md ADDED
@@ -0,0 +1,14 @@
1
+ # Changelog
2
+
3
+ Все заметные изменения в этом проекте будут задокументированы в этом файле. См. [standard-version](https://github.com/conventional-changelog/standard-version) для получения рекомендаций по коммитам.
4
+
5
+ Ссылки на приватный репозиторий скрыты и доступны только в самом репозитории
6
+
7
+ ## [1.1.0](https://www.npmjs.com/package/@topvisor/ui/v/1.1.0) (2025-02-24)
8
+
9
+
10
+ ### Features
11
+
12
+ * **forms:** Изменен UX TopTextarea expandable версии, теперь высота будет ограничена чуть больше половиной экрана. В TopEditArea добавлена мобильная версия футера и испарвлены мелкие баги в с изменением стилей TopTextArea ([9dea249](9dea2493401567082353ff6895a551adba80b3e1))
13
+ * **npm:** Улучшено определение основного локального ip адреса при запуске storybook dev ([f887025](f8870252618206b753f8c9f297660c3c9b49f11e))
14
+ * **project:** Компонент selectorRegion расширен дилоговым окном для выбора нескольких регионов ([295efba](295efbadaefea88d5d7e2e7ccd21196929da78f8))
package/README.md CHANGED
@@ -1,82 +1,82 @@
1
- # UI kit Topvisor Vue
2
-
3
- ## Vue компоненты
4
-
5
- Компоненты поставляются в двух форматах:
6
-
7
- - amd (requirejs)
8
- - es
9
-
10
- Компоненты делятся на разные библиотеки и доступны через импорт этих библиотек.
11
-
12
- Каждая библиотека находится в отдельной папке, соответствующей имени библиотеки.
13
-
14
- Все стили модулей находятся в папке /assets/ в файлах соответствующих имени библиотеки.
15
- В этой же папке располагаются стили для асинхронно загружаемых компонентов.
16
- Все стили грузятся автоматически вместе с загрузкой компонента.
17
-
18
- Документация и описание всех компонентов: https://ui.topvisor.com/
19
-
20
- ## Общие стили UI
21
-
22
- - /assets/core.css - основная палитра цветов и общие стили и модификаторы компонентов
23
- - /assets/themes/* - стили тем оформления
24
-
25
- ## Подключение стилей
26
-
27
- Стили компонентов подгружаются автоматически.
28
-
29
- Стили UI core.css необходимо подгрузить на страницу вручную.
30
-
31
- ```js
32
- import '@topvisor/ui/assets/core.css';
33
- ```
34
-
35
- ```html
36
- <link href="https://cdn.jsdelivr.net/npm/@topvisor/ui/assets/core.css" rel="stylesheet">
37
- ```
38
-
39
- ## Подключение стилей темы
40
-
41
- Стили темы необходимо подгрузить на страницу вручную.
42
-
43
- Для смены темы необходимо подгрузить файл стилей необходимой темы и отключить стили предыдущей темы.
44
-
45
- ```js
46
- import '@topvisor/ui/assets/themes/light.css';
47
- ```
48
-
49
- ```html
50
-
51
- <link href="https://cdn.jsdelivr.net/npm/@topvisor/ui/assets/themes/light.css" rel="stylesheet">
52
- ```
53
-
54
- ## Внешние зависимсоти
55
-
56
- Стили icomoon добавлены в пакет и их необходимо подгрузить на страницу вручную.
57
-
58
- ```js
59
- import '@topvisor/ui/icomoon/style.css';
60
- ```
61
-
62
- ```html
63
-
64
- <link href="https://cdn.jsdelivr.net/npm/@topvisor/ui/icomoon/style.css" rel="stylesheet">
65
- ```
66
-
67
- ## Подключение компонентов
68
-
69
- Пример подключения библиотеки Forms и компонента Button:
70
-
71
- ```javascript
72
- require(['@topvisor/ui/forms/forms.amd'], ({ Button }) => {
73
- console.log(Button);
74
- });
75
-
76
- require(['@topvisor/ui/forms/forms.amd'], Forms => {
77
- const { Button } = Forms;
78
-
79
- console.log(Forms);
80
- console.log(Button);
81
- });
82
- ```
1
+ # UI kit Topvisor Vue
2
+
3
+ ## Vue компоненты
4
+
5
+ Компоненты поставляются в двух форматах:
6
+
7
+ - amd (requirejs)
8
+ - es
9
+
10
+ Компоненты делятся на разные библиотеки и доступны через импорт этих библиотек.
11
+
12
+ Каждая библиотека находится в отдельной папке, соответствующей имени библиотеки.
13
+
14
+ Все стили модулей находятся в папке /assets/ в файлах соответствующих имени библиотеки.
15
+ В этой же папке располагаются стили для асинхронно загружаемых компонентов.
16
+ Все стили грузятся автоматически вместе с загрузкой компонента.
17
+
18
+ Документация и описание всех компонентов: https://ui.topvisor.com/
19
+
20
+ ## Общие стили UI
21
+
22
+ - /assets/core.css - основная палитра цветов и общие стили и модификаторы компонентов
23
+ - /assets/themes/* - стили тем оформления
24
+
25
+ ## Подключение стилей
26
+
27
+ Стили компонентов подгружаются автоматически.
28
+
29
+ Стили UI core.css необходимо подгрузить на страницу вручную.
30
+
31
+ ```js
32
+ import '@topvisor/ui/assets/core.css';
33
+ ```
34
+
35
+ ```html
36
+ <link href="https://cdn.jsdelivr.net/npm/@topvisor/ui/assets/core.css" rel="stylesheet">
37
+ ```
38
+
39
+ ## Подключение стилей темы
40
+
41
+ Стили темы необходимо подгрузить на страницу вручную.
42
+
43
+ Для смены темы необходимо подгрузить файл стилей необходимой темы и отключить стили предыдущей темы.
44
+
45
+ ```js
46
+ import '@topvisor/ui/assets/themes/light.css';
47
+ ```
48
+
49
+ ```html
50
+
51
+ <link href="https://cdn.jsdelivr.net/npm/@topvisor/ui/assets/themes/light.css" rel="stylesheet">
52
+ ```
53
+
54
+ ## Внешние зависимсоти
55
+
56
+ Стили icomoon добавлены в пакет и их необходимо подгрузить на страницу вручную.
57
+
58
+ ```js
59
+ import '@topvisor/ui/icomoon/style.css';
60
+ ```
61
+
62
+ ```html
63
+
64
+ <link href="https://cdn.jsdelivr.net/npm/@topvisor/ui/icomoon/style.css" rel="stylesheet">
65
+ ```
66
+
67
+ ## Подключение компонентов
68
+
69
+ Пример подключения библиотеки Forms и компонента Button:
70
+
71
+ ```javascript
72
+ require(['@topvisor/ui/forms/forms.amd'], ({ Button }) => {
73
+ console.log(Button);
74
+ });
75
+
76
+ require(['@topvisor/ui/forms/forms.amd'], Forms => {
77
+ const { Button } = Forms;
78
+
79
+ console.log(Forms);
80
+ console.log(Button);
81
+ });
82
+ ```
package/assets/forms.css CHANGED
@@ -1 +1 @@
1
- .top-avatar{width:var(--62448408);height:var(--62448408);display:flex;flex-grow:0;flex-shrink:0;position:relative;top:0;left:0}.top-avatar_image{border-radius:50%;width:100%;height:100%}.top-avatar_status{border-radius:50%;border:2px solid var(--color-layout-front-1);background-color:var(--color-bg-positive-1);width:25%;height:25%;position:absolute;right:0;bottom:0}.top-button{cursor:pointer;box-sizing:border-box;box-shadow:var(--top-button-box-shadow);border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);background-color:var(--top-button-background-color);height:var(--top-forms-base-height);padding:0 var(--top-forms-padding);color:var(--top-button-color);line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s,box-shadow .15s}.top-button:hover{box-shadow:var(--top-button-box-shadow-hover);background-color:var(--top-button-background-color-hover)}.top-button:active{box-shadow:var(--top-button-box-shadow-active);background-color:var(--top-button-background-color-active)}.top-button.top-active{box-shadow:var(--top-button-box-shadow-selected);background-color:var(--top-button-background-color-selected)}.top-button.top-button-progress{cursor:help;box-shadow:inset #00000080 0 0 64px;background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:32px 32px;animation:progress 1s linear infinite}@keyframes progress{0%{background-position-x:0px}to{background-position-x:32px}}a.top-button,button.top-button{min-width:100px;text-decoration:none}a.top-button,a.top-button:hover{min-width:var(--top-forms-base-height);text-decoration:none}.top-button[data-top-icon]:not(:empty):not(.top-button-withoutText),.top-button[data-top-icon2]:not(:empty):not(.top-button-withoutText){justify-content:flex-start;text-align:left}.top-button[data-top-icon]{padding-left:0}.top-button[data-top-icon2]{padding-right:var(--top-select_arrow-width)}.top-button[data-top-icon2]:after{margin-left:auto}.top-button:empty,.top-button.top-button-withoutText{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty,.top-button[data-top-icon].top-button-withoutText,.top-button[data-top-icon2].top-button-withoutText{padding:0}.top-button.top-color_blue{--top-button-background-color: var(--color-bg-primary-1)}.top-button.top-color_green{--top-button-background-color: var(--color-bg-positive-1)}.top-button.top-color_orange{--top-button-background-color: var(--color-bg-warning-1)}.top-button.top-color_red{--top-button-background-color: var(--color-bg-negative-1)}.top-button.top-color_pink{--top-button-background-color: var(--color-bg-info-1)}.top-button.top-color_brand{--top-button-color: var(--color-text-1-inverse);--top-button-background-color: var(--color-brand-1)}.top-button.top-color_theme{--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);--top-button-color: var(--color-text-1);--top-button-background-color: transparent;--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-3);--top-button-background-color-selected: var(--color-layer-2)}.top-button.top-color_theme:hover{--top-icon-color: var(--color-text-1);--top-icon2-color: var(--color-text-1)}.top-button.top-color_theme.top-active{--top-icon-color: var(--color-text-2)}.top-button.top-style_outline{--top-button-box-shadow: none;--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-button-background-color: var(--color-layout-front-1);--top-forms-border-width: 1px}.top-button.top-style_outline.top-color_theme{--top-button-color: var(--color-text-2);--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-2);--top-button-background-color-selected: var(--color-layer-3);--top-forms-border-color: var(--color-line-3)}.top-button.top-style_outline.top-color_theme:hover{--top-forms-border-color: var(--color-line-4)}.top-button.top-style_outline.top-color_blue{--top-button-color: var(--color-text-primary);--top-icon-color: var(--color-text-primary);--top-icon2-color: var(--color-text-primary);--top-button-background-color-hover: var(--color-layer-primary-1);--top-button-background-color-active: var(--color-layer-primary-2);--top-button-background-color-selected: var(--color-layer-primary-3);--top-forms-border-color: var(--color-line-primary-1)}.top-button.top-style_outline.top-color_blue:hover{--top-forms-border-color: var(--color-line-primary-2)}.top-button.top-style_outline.top-color_green{--top-button-color: var(--color-text-positive);--top-icon-color: var(--color-text-positive);--top-icon2-color: var(--color-text-positive);--top-button-background-color-hover: var(--color-layer-positive-1);--top-button-background-color-active: var(--color-layer-positive-2);--top-button-background-color-selected: var(--color-layer-positive-3);--top-forms-border-color: var(--color-line-positive-1)}.top-button.top-style_outline.top-color_green:hover{--top-forms-border-color: var(--color-line-positive-2)}.top-button.top-style_outline.top-color_orange{--top-button-color: var(--color-text-warning);--top-icon-color: var(--color-text-warning);--top-icon2-color: var(--color-text-warning);--top-button-background-color-hover: var(--color-layer-warning-1);--top-button-background-color-active: var(--color-layer-warning-2);--top-button-background-color-selected: var(--color-layer-warning-3);--top-forms-border-color: var(--color-line-warning-1)}.top-button.top-style_outline.top-color_orange:hover{--top-forms-border-color: var(--color-line-warning-2)}.top-button.top-style_outline.top-color_red{--top-button-color: var(--color-text-negative);--top-icon-color: var(--color-text-negative);--top-icon2-color: var(--color-text-negative);--top-button-background-color-hover: var(--color-layer-negative-1);--top-button-background-color-active: var(--color-layer-negative-2);--top-button-background-color-selected: var(--color-layer-negative-3);--top-forms-border-color: var(--color-line-negative-1)}.top-button.top-style_outline.top-color_red:hover{--top-forms-border-color: var(--color-line-negative-2)}.top-button.top-style_outline.top-color_pink{--top-button-color: var(--color-text-info);--top-icon-color: var(--color-text-info);--top-icon2-color: var(--color-text-info);--top-button-background-color-hover: var(--color-layer-info-1);--top-button-background-color-active: var(--color-layer-info-2);--top-button-background-color-selected: var(--color-layer-info-3);--top-forms-border-color: var(--color-line-info-1)}.top-button.top-style_outline.top-color_pink:hover{--top-forms-border-color: var(--color-line-info-2)}.top-button.top-style_outline.top-color_brand{--top-button-color: var(--color-brand-1);--top-icon-color: var(--color-brand-1);--top-icon2-color: var(--color-brand-1);--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-2);--top-button-background-color-selected: var(--color-layer-3);--top-forms-border-color: var(--color-brand-1)}.top-button.top-style_outline.top-color_brand:hover{--top-forms-border-color: var(--color-brand-2)}.top-button.top-style_soft{--top-shadow-darken-1: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none}.top-button.top-style_soft.top-color_theme{--top-button-color: var(--color-text-1);--top-icon-color: var(--color-text-1);--top-icon2-color: var(--color-text-1);--top-button-background-color: var(--color-layer-1);--top-button-background-color-hover: var(--color-layer-2);--top-button-background-color-active: var(--color-layer-3);--top-button-background-color-selected: var(--color-layer-3)}.top-button.top-style_soft.top-color_blue{--top-button-color: var(--color-text-primary);--top-icon-color: var(--color-text-primary);--top-icon2-color: var(--color-text-primary);--top-button-background-color: var(--color-layer-primary-1);--top-button-background-color-hover: var(--color-layer-primary-2);--top-button-background-color-active: var(--color-layer-primary-3);--top-button-background-color-selected: var(--color-layer-primary-3)}.top-button.top-style_soft.top-color_green{--top-button-color: var(--color-text-positive);--top-icon-color: var(--color-text-positive);--top-icon2-color: var(--color-text-positive);--top-button-background-color: var(--color-layer-positive-1);--top-button-background-color-hover: var(--color-layer-positive-2);--top-button-background-color-active: var(--color-layer-positive-3);--top-button-background-color-selected: var(--color-layer-positive-3)}.top-button.top-style_soft.top-color_orange{--top-button-color: var(--color-text-warning);--top-icon-color: var(--color-text-warning);--top-icon2-color: var(--color-text-warning);--top-button-background-color: var(--color-layer-warning-1);--top-button-background-color-hover: var(--color-layer-warning-2);--top-button-background-color-active: var(--color-layer-warning-3);--top-button-background-color-selected: var(--color-layer-warning-3)}.top-button.top-style_soft.top-color_red{--top-button-color: var(--color-text-negative);--top-icon-color: var(--color-text-negative);--top-icon2-color: var(--color-text-negative);--top-button-background-color: var(--color-layer-negative-1);--top-button-background-color-hover: var(--color-layer-negative-2);--top-button-background-color-active: var(--color-layer-negative-3);--top-button-background-color-selected: var(--color-layer-negative-3)}.top-button.top-style_soft.top-color_pink{--top-button-color: var(--color-text-info);--top-icon-color: var(--color-text-info);--top-icon2-color: var(--color-text-info);--top-button-background-color: var(--color-layer-info-1);--top-button-background-color-hover: var(--color-layer-info-2);--top-button-background-color-active: var(--color-layer-info-3);--top-button-background-color-selected: var(--color-layer-info-3)}.top-button.top-style_soft.top-color_brand{--top-button-color: var(--color-brand-1);--top-icon-color: var(--color-brand-1);--top-icon2-color: var(--color-brand-1);--top-button-background-color: var(--color-layer-1);--top-button-background-color-hover: var(--color-layer-2);--top-button-background-color-active: var(--color-layer-3);--top-button-background-color-selected: var(--color-layer-3)}.top-button.top-style_transparent{--top-shadow-darken-1: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none;--top-button-color: var(--color-text);--top-button-background-color: transparent;--top-button-background-color-hover: transparent;--top-button-background-color-active: transparent;--top-button-background-color-selected: var(--color-steel-200)}.top-button.top-style_transparent:hover{opacity:.8}.top-button.top-style_transparent.top-color_blue{--top-button-color: var(--color-text-primary)}.top-button.top-style_transparent.top-color_green{--top-button-color: var(--color-text-positive)}.top-button.top-style_transparent.top-color_orange{--top-button-color: var(--color-text-warning)}.top-button.top-style_transparent.top-color_red{--top-button-color: var(--color-text-negative)}.top-button.top-style_transparent.top-color_pink{--top-button-color: var(--color-text-info)}.top-button.top-style_transparent.top-color_brand{--top-button-color: var(--color-brand-1)}.top-button{--top-button-color: var(--color-white);--top-button-background-color: transparent;--top-button-background-color-hover: var(--top-button-background-color);--top-button-background-color-active: var(--top-button-background-color-hover);--top-button-background-color-selected: var(--top-button-background-color-hover);--top-button-box-shadow: none;--top-button-box-shadow-hover: var(--top-shadow-darken-2);--top-button-box-shadow-active: var(--top-shadow-darken-3);--top-button-box-shadow-selected: var(--top-shadow-darken-3);--top-forms-border-width: 0px;--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding))}.top-button>span{pointer-events:none}.top-button>.top-ellipsis{flex-grow:0}.top-button.top-size_xs{--top-forms-padding: var(--top-forms-padding_xs);--top-forms-base-height: var(--top-forms-base-height_xs)}.top-button.top-size_m{--top-forms-padding: var(--top-forms-padding_m);--top-forms-base-height: var(--top-forms-base-height_m)}.top-button.top-size_l{--top-forms-padding: var(--top-forms-padding_l);--top-forms-base-height: var(--top-forms-base-height_l)}.top-button_badge-afterText{order:100}.top-button:not([data-top-icon2])>.top-button_badge-afterText{margin-left:0}.top-forms-optionLabel{flex-grow:1}.top-forms-optionLabel_title{color:var(--color-text-1);min-height:var(--top-forms-option-height);display:flex;align-items:center}.top-forms-optionLabel_title-disabled{color:var(--color-text-3)}.top-forms-optionLabel_description{color:var(--color-text-2);font-size:.85em;line-height:var(--top-forms-option-height)}.top-forms-optionLabel_description-disabled{color:var(--color-text-3)}.top-checkbox{cursor:pointer;display:inline-flex}.top-checkbox_input{cursor:inherit;border-radius:4px;background:var(--color-layout-front-1);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-checkbox_input:before{content:" ";color:#fff;font-family:Topvisor-2;font-size:16px}.top-checkbox_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-layer-primary-1)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--top-forms-option-color);background:var(--top-forms-option-color)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--top-forms-option-color-hover);background:var(--top-forms-option-color-hover)}.top-checkbox_input.top-error{border-color:var(--color-bg-negative-1)}.top-checkbox_input.top-error:hover{border-color:var(--color-bg-negative-2)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-bg-negative-1)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-bg-negative-2)}.top-hint{--top-icon-size: 16px;--top-icon-width: var(--top-icon-size);border-radius:50%;background:var(--color-layout-front-1);padding:1px;color:var(--color-text-3);line-height:1;z-index:1;pointer-events:all}.top-hint:hover{color:var(--color-text-2)}:root{--top-loadbar-duration: 10s;--top-loadbar-color: var(--color-line-primary-1)}.top-loadbar{background:var(--top-loadbar-color);width:0;height:4px;position:absolute;top:0;left:0;animation:top-loadbar var(--top-loadbar-duration) forwards}@keyframes top-loadbar{0%{width:4px}4%{width:4%}5%{width:5%}to{width:95%}}.top-input{--top-forms_clear-width: 0px;border-radius:var(--top-forms-radius);width:180px;position:relative;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-input_input{color:var(--color-text-2);background:var(--top-forms-background-color);height:var(--top-forms-base-height);padding:0;padding-right:max(var(--top-forms-padding),calc(var(--top-icon2-width) + var(--top-forms_clear-width)));padding-left:max(var(--top-forms-padding),var(--top-icon-width))}.top-input_input:hover{background:var(--top-forms-background-color-hover)}.top-input_input:focus{color:var(--color-text-1);border-color:var(--top-forms-border-color-hover);outline:none}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color: var(--color-text-4);--top-icon2-color: var(--color-text-4);position:absolute;z-index:3;font-size:20px}.top-input[data-top-icon]:before{left:0}.top-input[data-top-icon2]:after{right:0}.top-input-withCleaner{--top-forms_clear-width: 24px}.top-input_cleaner[data-top-icon]{--top-icon-size: 16px;--top-icon-width: 20px;--top-icon-color: var(--color-text-3);cursor:pointer;border-radius:50%;width:20px;height:16px;position:absolute;right:calc(var(--top-forms-border-width) + max(var(--top-icon2-width),var(--top-forms-padding) / 2));z-index:1;display:flex;align-items:center;justify-content:center}.top-input_cleaner[data-top-icon]:hover{--top-icon-color: var(--color-text-2)}.top-input_input{width:50%;flex-grow:1}.top-input .top-loadbar{border-radius:var(--top-forms-radius) 0 0 0}.top-input-datepicker{width:calc(105px + var(--top-icon-width) + var(--top-icon2-width))}.top-input_input-date{opacity:0;position:absolute;inset:0;z-index:-1}.top-input_input-date::-webkit-inner-spin-button{display:none}.top-input_input-date::-webkit-calendar-picker-indicator{opacity:0}.top-inputRange{max-width:320px;vertical-align:baseline;display:inline-flex;gap:8px}.top-inputRange_dash{height:var(--top-forms-base-height);color:var(--color-text-4);align-self:flex-end;display:inline-flex;align-items:center}.top-inputRange>.top-input{flex-grow:1}:root{--top-radio-background-color: var(--color-layout-front-1);--top-radio-background-color-hover: var(--top-radio-background-color);--top-radio-background-color-active: var(--top-radio-background-color)}.top-radio{cursor:pointer}.top-radio_input{border-radius:50%;background:var(--color-layout-front-1);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radio_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-layer-primary-1)}.top-radio_input:checked{border-color:var(--top-forms-option-color);border-width:5px}.top-radio_input:checked:hover{border-color:var(--color-bg-primary-2)}.top-radio_input.top-error,.top-radio_input.top-error:hover{border-color:var(--color-bg-negative-1)}.top-checkboxSwitcher{cursor:pointer;display:inline-flex;gap:4px}.top-checkboxSwitcher_input{border-radius:9px;border:none;background:var(--color-layer-3);width:36px;height:18px;position:relative}.top-checkboxSwitcher_input:before{content:"";border-radius:50%;background:var(--color-white);width:12px;height:12px;margin:3px;position:absolute;top:0;left:0;transition:left .1s}.top-checkboxSwitcher_input:hover{background:var(--color-layer-4)}.top-checkboxSwitcher_input:checked{background:var(--top-forms-option-color)}.top-checkboxSwitcher_input:checked:hover{background:var(--top-forms-option-color-hover)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input.top-error{background:var(--color-layer-negative-3)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-layer-negative-4)}.top-checkboxSwitcher_input.top-error:checked{background:var(--color-bg-negative-2)}.top-checkboxSwitcher_input.top-error:checked:hover{background:var(--color-bg-negative-1)}.top-textarea{width:180px;display:inline-flex;align-items:center;position:relative}.top-textarea_textarea{color:var(--color-text-1);background:var(--top-forms-background-color);width:100%;padding:var(--top-forms-padding);resize:none}.top-textarea_textarea:hover{background:var(--top-forms-background-color-hover)}.top-textarea_textarea:focus{border-color:var(--color-line-primary-1);outline:none}html .top-textarea_textarea.top-textarea_textarea-expandable{width:100%;height:100%;overflow:hidden;position:absolute;top:0;left:0}.top-textarea_pseudoContent{box-sizing:border-box;min-height:var(--6b2f4aae);padding:var(--top-forms-padding);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;opacity:0;z-index:-1}.top-textarea_hint{position:absolute;top:2px;right:2px}.top-select{color:var(--color-text-1);--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);align-items:center;width:180px;max-width:100%;display:inline-flex}.top-select-error{--top-icon-color: var(--color-text-negative);--top-icon2-color: var(--color-text-negative)}.top-select_select{background-color:var(--top-forms-background-color);padding-left:var(--top-forms-padding);text-indent:clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)));width:100%;height:var(--top-forms-base-height);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option:not(:disabled){background:var(--color-layout-front-1);color:var(--color-text-1)}.top-select option:disabled{background:unset;color:unset}@-moz-document url-prefix(){.top-select_select{text-indent:calc(clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)))/2)}}@media only screen and (min-width: 900px){.top-changer{cursor:pointer;border-radius:100%;width:0;transform:translate(-44px);color:var(--color-text-2);font-size:16px;line-height:1;display:none;z-index:2;order:4}.top-changer:hover{color:var(--color-text-primary)}.top-changer:after{content:"";background-color:var(--top-forms-background-color);font-family:Topvisor-2}*:hover>.top-changer{display:block}}
1
+ .top-avatar{width:var(--3ce69dc2);height:var(--3ce69dc2);display:flex;flex-grow:0;flex-shrink:0;position:relative;top:0;left:0}.top-avatar_image{border-radius:50%;width:100%;height:100%}.top-avatar_status{border-radius:50%;border:2px solid var(--color-layout-front-1);background-color:var(--color-bg-positive-1);width:25%;height:25%;position:absolute;right:0;bottom:0}.top-button{cursor:pointer;box-sizing:border-box;box-shadow:var(--top-button-box-shadow);border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);background-color:var(--top-button-background-color);height:var(--top-forms-base-height);padding:0 var(--top-forms-padding);color:var(--top-button-color);line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s,box-shadow .15s}.top-button:hover{box-shadow:var(--top-button-box-shadow-hover);background-color:var(--top-button-background-color-hover)}.top-button:active{box-shadow:var(--top-button-box-shadow-active);background-color:var(--top-button-background-color-active)}.top-button.top-active{box-shadow:var(--top-button-box-shadow-selected);background-color:var(--top-button-background-color-selected)}.top-button.top-button-progress{cursor:help;box-shadow:inset #00000080 0 0 64px;background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:32px 32px;animation:progress 1s linear infinite}@keyframes progress{0%{background-position-x:0px}to{background-position-x:32px}}a.top-button,button.top-button{min-width:100px;text-decoration:none}a.top-button,a.top-button:hover{min-width:var(--top-forms-base-height);text-decoration:none}.top-button[data-top-icon]:not(:empty):not(.top-button-withoutText),.top-button[data-top-icon2]:not(:empty):not(.top-button-withoutText){justify-content:flex-start;text-align:left}.top-button[data-top-icon]{padding-left:0}.top-button[data-top-icon2]{padding-right:var(--top-select_arrow-width)}.top-button[data-top-icon2]:after{margin-left:auto}.top-button:empty,.top-button.top-button-withoutText{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty,.top-button[data-top-icon].top-button-withoutText,.top-button[data-top-icon2].top-button-withoutText{padding:0}.top-button.top-color_blue{--top-button-background-color: var(--color-bg-primary-1)}.top-button.top-color_green{--top-button-background-color: var(--color-bg-positive-1)}.top-button.top-color_orange{--top-button-background-color: var(--color-bg-warning-1)}.top-button.top-color_red{--top-button-background-color: var(--color-bg-negative-1)}.top-button.top-color_pink{--top-button-background-color: var(--color-bg-info-1)}.top-button.top-color_brand{--top-button-color: var(--color-text-1-inverse);--top-button-background-color: var(--color-brand-1)}.top-button.top-color_theme{--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);--top-button-color: var(--color-text-1);--top-button-background-color: transparent;--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-3);--top-button-background-color-selected: var(--color-layer-2)}.top-button.top-color_theme:hover{--top-icon-color: var(--color-text-1);--top-icon2-color: var(--color-text-1)}.top-button.top-color_theme.top-active{--top-icon-color: var(--color-text-2)}.top-button.top-style_outline{--top-button-box-shadow: none;--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-button-background-color: var(--color-layout-front-1);--top-forms-border-width: 1px}.top-button.top-style_outline.top-color_theme{--top-button-color: var(--color-text-2);--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-2);--top-button-background-color-selected: var(--color-layer-3);--top-forms-border-color: var(--color-line-3)}.top-button.top-style_outline.top-color_theme:hover{--top-forms-border-color: var(--color-line-4)}.top-button.top-style_outline.top-color_blue{--top-button-color: var(--color-text-primary);--top-icon-color: var(--color-text-primary);--top-icon2-color: var(--color-text-primary);--top-button-background-color-hover: var(--color-layer-primary-1);--top-button-background-color-active: var(--color-layer-primary-2);--top-button-background-color-selected: var(--color-layer-primary-3);--top-forms-border-color: var(--color-line-primary-1)}.top-button.top-style_outline.top-color_blue:hover{--top-forms-border-color: var(--color-line-primary-2)}.top-button.top-style_outline.top-color_green{--top-button-color: var(--color-text-positive);--top-icon-color: var(--color-text-positive);--top-icon2-color: var(--color-text-positive);--top-button-background-color-hover: var(--color-layer-positive-1);--top-button-background-color-active: var(--color-layer-positive-2);--top-button-background-color-selected: var(--color-layer-positive-3);--top-forms-border-color: var(--color-line-positive-1)}.top-button.top-style_outline.top-color_green:hover{--top-forms-border-color: var(--color-line-positive-2)}.top-button.top-style_outline.top-color_orange{--top-button-color: var(--color-text-warning);--top-icon-color: var(--color-text-warning);--top-icon2-color: var(--color-text-warning);--top-button-background-color-hover: var(--color-layer-warning-1);--top-button-background-color-active: var(--color-layer-warning-2);--top-button-background-color-selected: var(--color-layer-warning-3);--top-forms-border-color: var(--color-line-warning-1)}.top-button.top-style_outline.top-color_orange:hover{--top-forms-border-color: var(--color-line-warning-2)}.top-button.top-style_outline.top-color_red{--top-button-color: var(--color-text-negative);--top-icon-color: var(--color-text-negative);--top-icon2-color: var(--color-text-negative);--top-button-background-color-hover: var(--color-layer-negative-1);--top-button-background-color-active: var(--color-layer-negative-2);--top-button-background-color-selected: var(--color-layer-negative-3);--top-forms-border-color: var(--color-line-negative-1)}.top-button.top-style_outline.top-color_red:hover{--top-forms-border-color: var(--color-line-negative-2)}.top-button.top-style_outline.top-color_pink{--top-button-color: var(--color-text-info);--top-icon-color: var(--color-text-info);--top-icon2-color: var(--color-text-info);--top-button-background-color-hover: var(--color-layer-info-1);--top-button-background-color-active: var(--color-layer-info-2);--top-button-background-color-selected: var(--color-layer-info-3);--top-forms-border-color: var(--color-line-info-1)}.top-button.top-style_outline.top-color_pink:hover{--top-forms-border-color: var(--color-line-info-2)}.top-button.top-style_outline.top-color_brand{--top-button-color: var(--color-brand-1);--top-icon-color: var(--color-brand-1);--top-icon2-color: var(--color-brand-1);--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-2);--top-button-background-color-selected: var(--color-layer-3);--top-forms-border-color: var(--color-brand-1)}.top-button.top-style_outline.top-color_brand:hover{--top-forms-border-color: var(--color-brand-2)}.top-button.top-style_soft{--top-shadow-darken-1: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none}.top-button.top-style_soft.top-color_theme{--top-button-color: var(--color-text-1);--top-icon-color: var(--color-text-1);--top-icon2-color: var(--color-text-1);--top-button-background-color: var(--color-layer-1);--top-button-background-color-hover: var(--color-layer-2);--top-button-background-color-active: var(--color-layer-3);--top-button-background-color-selected: var(--color-layer-3)}.top-button.top-style_soft.top-color_blue{--top-button-color: var(--color-text-primary);--top-icon-color: var(--color-text-primary);--top-icon2-color: var(--color-text-primary);--top-button-background-color: var(--color-layer-primary-1);--top-button-background-color-hover: var(--color-layer-primary-2);--top-button-background-color-active: var(--color-layer-primary-3);--top-button-background-color-selected: var(--color-layer-primary-3)}.top-button.top-style_soft.top-color_green{--top-button-color: var(--color-text-positive);--top-icon-color: var(--color-text-positive);--top-icon2-color: var(--color-text-positive);--top-button-background-color: var(--color-layer-positive-1);--top-button-background-color-hover: var(--color-layer-positive-2);--top-button-background-color-active: var(--color-layer-positive-3);--top-button-background-color-selected: var(--color-layer-positive-3)}.top-button.top-style_soft.top-color_orange{--top-button-color: var(--color-text-warning);--top-icon-color: var(--color-text-warning);--top-icon2-color: var(--color-text-warning);--top-button-background-color: var(--color-layer-warning-1);--top-button-background-color-hover: var(--color-layer-warning-2);--top-button-background-color-active: var(--color-layer-warning-3);--top-button-background-color-selected: var(--color-layer-warning-3)}.top-button.top-style_soft.top-color_red{--top-button-color: var(--color-text-negative);--top-icon-color: var(--color-text-negative);--top-icon2-color: var(--color-text-negative);--top-button-background-color: var(--color-layer-negative-1);--top-button-background-color-hover: var(--color-layer-negative-2);--top-button-background-color-active: var(--color-layer-negative-3);--top-button-background-color-selected: var(--color-layer-negative-3)}.top-button.top-style_soft.top-color_pink{--top-button-color: var(--color-text-info);--top-icon-color: var(--color-text-info);--top-icon2-color: var(--color-text-info);--top-button-background-color: var(--color-layer-info-1);--top-button-background-color-hover: var(--color-layer-info-2);--top-button-background-color-active: var(--color-layer-info-3);--top-button-background-color-selected: var(--color-layer-info-3)}.top-button.top-style_soft.top-color_brand{--top-button-color: var(--color-brand-1);--top-icon-color: var(--color-brand-1);--top-icon2-color: var(--color-brand-1);--top-button-background-color: var(--color-layer-1);--top-button-background-color-hover: var(--color-layer-2);--top-button-background-color-active: var(--color-layer-3);--top-button-background-color-selected: var(--color-layer-3)}.top-button.top-style_transparent{--top-shadow-darken-1: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none;--top-button-color: var(--color-text);--top-button-background-color: transparent;--top-button-background-color-hover: transparent;--top-button-background-color-active: transparent;--top-button-background-color-selected: var(--color-steel-200)}.top-button.top-style_transparent:hover{opacity:.8}.top-button.top-style_transparent.top-color_blue{--top-button-color: var(--color-text-primary)}.top-button.top-style_transparent.top-color_green{--top-button-color: var(--color-text-positive)}.top-button.top-style_transparent.top-color_orange{--top-button-color: var(--color-text-warning)}.top-button.top-style_transparent.top-color_red{--top-button-color: var(--color-text-negative)}.top-button.top-style_transparent.top-color_pink{--top-button-color: var(--color-text-info)}.top-button.top-style_transparent.top-color_brand{--top-button-color: var(--color-brand-1)}.top-button{--top-button-color: var(--color-white);--top-button-background-color: transparent;--top-button-background-color-hover: var(--top-button-background-color);--top-button-background-color-active: var(--top-button-background-color-hover);--top-button-background-color-selected: var(--top-button-background-color-hover);--top-button-box-shadow: none;--top-button-box-shadow-hover: var(--top-shadow-darken-2);--top-button-box-shadow-active: var(--top-shadow-darken-3);--top-button-box-shadow-selected: var(--top-shadow-darken-3);--top-forms-border-width: 0px;--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding))}.top-button>span{pointer-events:none}.top-button>.top-ellipsis{flex-grow:0}.top-button.top-size_xs{--top-forms-padding: var(--top-forms-padding_xs);--top-forms-base-height: var(--top-forms-base-height_xs)}.top-button.top-size_m{--top-forms-padding: var(--top-forms-padding_m);--top-forms-base-height: var(--top-forms-base-height_m)}.top-button.top-size_l{--top-forms-padding: var(--top-forms-padding_l);--top-forms-base-height: var(--top-forms-base-height_l)}.top-button_badge-afterText{order:100}.top-button:not([data-top-icon2])>.top-button_badge-afterText{margin-left:0}.top-forms-optionLabel{flex-grow:1}.top-forms-optionLabel_title{color:var(--color-text-1);min-height:var(--top-forms-option-height);display:flex;align-items:center}.top-forms-optionLabel_title-disabled{color:var(--color-text-3)}.top-forms-optionLabel_description{color:var(--color-text-2);font-size:.85em;line-height:var(--top-forms-option-height)}.top-forms-optionLabel_description-disabled{color:var(--color-text-3)}.top-checkbox{cursor:pointer;display:inline-flex}.top-checkbox_input{cursor:inherit;border-radius:4px;background:var(--color-layout-front-1);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-checkbox_input:before{content:" ";color:#fff;font-family:Topvisor-2;font-size:16px}.top-checkbox_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-layer-primary-1)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--top-forms-option-color);background:var(--top-forms-option-color)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--top-forms-option-color-hover);background:var(--top-forms-option-color-hover)}.top-checkbox_input.top-error{border-color:var(--color-bg-negative-1)}.top-checkbox_input.top-error:hover{border-color:var(--color-bg-negative-2)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-bg-negative-1)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-bg-negative-2)}.top-hint{--top-icon-size: 16px;--top-icon-width: var(--top-icon-size);border-radius:50%;background:var(--color-layout-front-1);padding:1px;color:var(--color-text-3);line-height:1;z-index:1;pointer-events:all}.top-hint:hover{color:var(--color-text-2)}:root{--top-loadbar-duration: 10s;--top-loadbar-color: var(--color-line-primary-1)}.top-loadbar{background:var(--top-loadbar-color);width:0;height:4px;position:absolute;top:0;left:0;animation:top-loadbar var(--top-loadbar-duration) forwards}@keyframes top-loadbar{0%{width:4px}4%{width:4%}5%{width:5%}to{width:95%}}.top-input{--top-forms_clear-width: 0px;border-radius:var(--top-forms-radius);width:180px;position:relative;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-input_input{color:var(--color-text-2);background:var(--top-forms-background-color);height:var(--top-forms-base-height);padding:0;padding-right:max(var(--top-forms-padding),calc(var(--top-icon2-width) + var(--top-forms_clear-width)));padding-left:max(var(--top-forms-padding),var(--top-icon-width))}.top-input_input:hover{background:var(--top-forms-background-color-hover)}.top-input_input:focus{color:var(--color-text-1);border-color:var(--top-forms-border-color-hover);outline:none}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color: var(--color-text-4);--top-icon2-color: var(--color-text-4);position:absolute;z-index:3;font-size:20px}.top-input[data-top-icon]:before{left:0}.top-input[data-top-icon2]:after{right:0}.top-input-withCleaner{--top-forms_clear-width: 24px}.top-input_cleaner[data-top-icon]{--top-icon-size: 16px;--top-icon-width: 20px;--top-icon-color: var(--color-text-3);cursor:pointer;border-radius:50%;width:20px;height:16px;position:absolute;right:calc(var(--top-forms-border-width) + max(var(--top-icon2-width),var(--top-forms-padding) / 2));z-index:1;display:flex;align-items:center;justify-content:center}.top-input_cleaner[data-top-icon]:hover{--top-icon-color: var(--color-text-2)}.top-input_input{width:50%;flex-grow:1}.top-input .top-loadbar{border-radius:var(--top-forms-radius) 0 0 0}.top-input-datepicker{width:calc(105px + var(--top-icon-width) + var(--top-icon2-width))}.top-input_input-date{opacity:0;position:absolute;inset:0;z-index:-1}.top-input_input-date::-webkit-inner-spin-button{display:none}.top-input_input-date::-webkit-calendar-picker-indicator{opacity:0}.top-inputRange{max-width:320px;vertical-align:baseline;display:inline-flex;gap:8px}.top-inputRange_dash{height:var(--top-forms-base-height);color:var(--color-text-4);align-self:flex-end;display:inline-flex;align-items:center}.top-inputRange>.top-input{flex-grow:1}:root{--top-radio-background-color: var(--color-layout-front-1);--top-radio-background-color-hover: var(--top-radio-background-color);--top-radio-background-color-active: var(--top-radio-background-color)}.top-radio{cursor:pointer}.top-radio_input{border-radius:50%;background:var(--color-layout-front-1);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radio_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-layer-primary-1)}.top-radio_input:checked{border-color:var(--top-forms-option-color);border-width:5px}.top-radio_input:checked:hover{border-color:var(--color-bg-primary-2)}.top-radio_input.top-error,.top-radio_input.top-error:hover{border-color:var(--color-bg-negative-1)}.top-checkboxSwitcher{cursor:pointer;display:inline-flex;gap:4px}.top-checkboxSwitcher_input{border-radius:9px;border:none;background:var(--color-layer-3);width:36px;height:18px;position:relative}.top-checkboxSwitcher_input:before{content:"";border-radius:50%;background:var(--color-white);width:12px;height:12px;margin:3px;position:absolute;top:0;left:0;transition:left .1s}.top-checkboxSwitcher_input:hover{background:var(--color-layer-4)}.top-checkboxSwitcher_input:checked{background:var(--top-forms-option-color)}.top-checkboxSwitcher_input:checked:hover{background:var(--top-forms-option-color-hover)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input.top-error{background:var(--color-layer-negative-3)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-layer-negative-4)}.top-checkboxSwitcher_input.top-error:checked{background:var(--color-bg-negative-2)}.top-checkboxSwitcher_input.top-error:checked:hover{background:var(--color-bg-negative-1)}.top-textarea{width:180px;display:inline-flex;align-items:center;position:relative}.top-textarea_textarea{color:var(--color-text-1);background:var(--top-forms-background-color);width:100%;padding:var(--top-forms-padding);resize:none}.top-textarea_textarea:hover{background:var(--top-forms-background-color-hover)}.top-textarea_textarea:focus{border-color:var(--color-line-primary-1);outline:none}html .top-textarea_textarea.top-textarea_textarea-expandable{width:100%;height:calc(100% + var(--top-forms-border-width) * 2);position:absolute;top:0;left:0}.top-textarea_pseudoContent{box-sizing:border-box;min-height:var(--2e9b99fe);max-height:60vh;padding:var(--top-forms-padding);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;opacity:0;z-index:-1}.top-textarea_hint{position:absolute;top:2px;right:2px}.top-select{color:var(--color-text-1);--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);align-items:center;width:180px;max-width:100%;display:inline-flex}.top-select-error{--top-icon-color: var(--color-text-negative);--top-icon2-color: var(--color-text-negative)}.top-select_select{background-color:var(--top-forms-background-color);padding-left:var(--top-forms-padding);text-indent:clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)));width:100%;height:var(--top-forms-base-height);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option:not(:disabled){background:var(--color-layout-front-1);color:var(--color-text-1)}.top-select option:disabled{background:unset;color:unset}@-moz-document url-prefix(){.top-select_select{text-indent:calc(clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)))/2)}}@media only screen and (min-width: 900px){.top-changer{cursor:pointer;border-radius:100%;width:0;transform:translate(-44px);color:var(--color-text-2);font-size:16px;line-height:1;display:none;z-index:2;order:4}.top-changer:hover{color:var(--color-text-primary)}.top-changer:after{content:"";background-color:var(--top-forms-background-color);font-family:Topvisor-2}*:hover>.top-changer{display:block}}
@@ -1 +1 @@
1
- .top-editArea{--top-editArea-bottom: env(keyboard-inset-height, 0px);--top-editArea-offset-bottom: 0px;display:flex;flex-direction:column;gap:6px}.top-editArea_title{font-size:12px}.top-editArea_form{flex-direction:column;outline:none}.top-editArea_form:not(.top-error):hover,.top-editArea_form:not(.top-error).top-focus{border-color:var(--top-forms-border-color-hover)}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{border:none;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;min-height:32px;justify-content:flex-end;gap:var(--top-forms-padding)}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);position:fixed;bottom:var(--top-editArea-bottom);right:0;left:0;z-index:2;gap:0;transition:bottom var(--transition-fast)}.top-editArea-attachedToKeyboard .top-editArea_form{border-radius:0;border:none;border-top:1px solid var(--top-forms-border-color)}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}.top-editArea-attachedToKeyboard .top-button.top-editArea_button{min-width:auto;padding:0}.top-editArea-attachedToKeyboard .top-button.top-editArea_button:before{--top-icon-size: 18px}.top-editInput{width:220px;flex-grow:1;display:flex;align-items:flex-end;gap:var(--top-gap-1)}.top-editInput .top-input{width:unset;flex-grow:1}.top-scrollBarXHidding{scrollbar-width:none;overflow-x:auto;overflow-y:hidden}.top-scrollBarXHidding:hover{scrollbar-width:thin}.top-scrollBarXHidding::-webkit-scrollbar{height:6px;display:none}.top-scrollBarXHidding:hover::-webkit-scrollbar{display:block;scrollbar-width:thin}.top-scrollBarXHidding::-webkit-scrollbar-track{background-color:transparent;box-shadow:inset #0000000f 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-track:hover{box-shadow:inset #00000014 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-track:active{box-shadow:inset #0000001a 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-thumb{background-color:var(--color-line-1-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-thumb:hover{background-color:var(--color-line-2-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-thumb:active{background-color:var(--color-line-3-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-button{width:0;height:0}.top-radioGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;background-color:var(--color-layout-middle);height:var(--top-forms-base-height);padding:2px;gap:2px;display:flex;align-items:flex-start}.top-radioGroup_item{color:var(--color-text-2);cursor:pointer;box-sizing:border-box;border-radius:6px;height:calc(var(--top-forms-base-height) - 4px);padding:0 16px;font-weight:400;white-space:nowrap;display:flex;align-items:center;justify-content:center;flex-grow:1;gap:4px}.top-radioGroup_item:hover{background-color:var(--color-layout-front-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-radioGroup_item-selected{color:var(--color-text-1);pointer-events:none;background-color:var(--color-bg-lightning-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-radioGroup_circle{content:"";box-sizing:border-box;border:1px solid var(--color-line-3-opacity);border-radius:50%;padding:3px;margin-left:auto;width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radioGroup_item:hover .top-radioGroup_circle:before{border-color:var(--color-line-primary-1)}.top-radioGroup_item-selected .top-radioGroup_circle{border-color:var(--color-line-primary-1);border-width:5px}.top-radioGroup_item-selected:hover .top-radioGroup_circle{border-color:var(--color-line-primary-1)}.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle{border-color:var(--color-line-negative-1)}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1, 4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);min-height:22px;max-width:100%;color:var(--color-text-1);flex-grow:0;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-selector2_itemMultiDelete{--top-icon-size: 14px;--top-icon-width: 18px;--top-icon-color: var(--color-text-1);display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width: 900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px;min-height:var(--top-forms-base-height);box-sizing:border-box;position:relative;display:flex;overflow:hidden;padding:var(--top-padding-1) var(--top-forms-padding);color:var(--top-forms-placeholder-color);border-radius:var(--top-radius-2);border:1px solid var(--top-forms-border-color);background:var(--top-forms-background-color)}.top-selector2-multiselect{width:unset;min-width:180px;padding:var(--top-padding-1)}.top-selector2.top-active{--top-forms-border-color: var(--top-forms-border-color-hover)}.top-selector2_activeItems{display:flex;flex-wrap:wrap;gap:var(--top-padding-1);max-width:100%}.top-selector2_activeName{white-space:nowrap}.top-changer-selector{transform:translate(-16px)}.top-info{--top-icon-width: var(--top-icon-size);border-radius:var(--top-forms-radius);box-sizing:border-box;min-height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-2);flex-grow:5;display:flex;align-items:center;justify-content:space-between;gap:var(--top-gap-2)}.top-info_text{flex-grow:1}.top-info_value{font-weight:700}.top-info.top-size_default{border-radius:var(--top-radius-3);padding:var(--top-padding-4)}.top-info-styling_default{--top-icon-color: var(--color-text-2);background:var(--color-layer-1)}.top-info-styling_info{--top-icon-color: var(--color-text-primary);background:var(--color-layer-primary-1)}.top-info-styling_warning{--top-icon-color: var(--color-text-warning);background:var(--color-layer-warning-1)}.top-info-styling_negative{--top-icon-color: var(--color-text-negative);background:var(--color-layer-negative-1)}
1
+ .top-editArea{--top-editArea-bottom: env(keyboard-inset-height, 0px);--top-editArea-offset-bottom: 0px;display:flex;flex-direction:column;gap:6px}.top-editArea_title{font-size:12px}.top-editArea_form{flex-direction:column;outline:none}.top-editArea_form:not(.top-error):hover,.top-editArea_form:not(.top-error).top-focus{border-color:var(--top-forms-border-color-hover)}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{--top-forms-border-width: 0px;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;min-height:32px;align-self:flex-end;justify-content:flex-end;gap:var(--top-forms-padding)}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);position:fixed;bottom:calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));right:0;left:0;z-index:2;gap:0;transition:bottom var(--transition-fast)}.top-editArea-attachedToKeyboard .top-editArea_form{border-radius:0;border:none;border-top:1px solid var(--top-forms-border-color)}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}@media screen and (max-width: 900px){.top-editArea_form{flex-direction:row}}.top-editInput{width:220px;flex-grow:1;display:flex;align-items:flex-end;gap:var(--top-gap-1)}.top-editInput .top-input{width:unset;flex-grow:1}.top-scrollBarXHidding{scrollbar-width:none;overflow-x:auto;overflow-y:hidden}.top-scrollBarXHidding:hover{scrollbar-width:thin}.top-scrollBarXHidding::-webkit-scrollbar{height:6px;display:none}.top-scrollBarXHidding:hover::-webkit-scrollbar{display:block;scrollbar-width:thin}.top-scrollBarXHidding::-webkit-scrollbar-track{background-color:transparent;box-shadow:inset #0000000f 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-track:hover{box-shadow:inset #00000014 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-track:active{box-shadow:inset #0000001a 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-thumb{background-color:var(--color-line-1-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-thumb:hover{background-color:var(--color-line-2-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-thumb:active{background-color:var(--color-line-3-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-button{width:0;height:0}.top-radioGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;background-color:var(--color-layout-middle);height:var(--top-forms-base-height);padding:2px;gap:2px;display:flex;align-items:flex-start}.top-radioGroup_item{color:var(--color-text-2);cursor:pointer;box-sizing:border-box;border-radius:6px;height:calc(var(--top-forms-base-height) - 4px);padding:0 16px;font-weight:400;white-space:nowrap;display:flex;align-items:center;justify-content:center;flex-grow:1;gap:4px}.top-radioGroup_item:hover{background-color:var(--color-layout-front-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-radioGroup_item-selected{color:var(--color-text-1);pointer-events:none;background-color:var(--color-bg-lightning-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-radioGroup_circle{content:"";box-sizing:border-box;border:1px solid var(--color-line-3-opacity);border-radius:50%;padding:3px;margin-left:auto;width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radioGroup_item:hover .top-radioGroup_circle:before{border-color:var(--color-line-primary-1)}.top-radioGroup_item-selected .top-radioGroup_circle{border-color:var(--color-line-primary-1);border-width:5px}.top-radioGroup_item-selected:hover .top-radioGroup_circle{border-color:var(--color-line-primary-1)}.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle{border-color:var(--color-line-negative-1)}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1, 4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);min-height:22px;max-width:100%;color:var(--color-text-1);flex-grow:0;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-selector2_itemMultiDelete{--top-icon-size: 14px;--top-icon-width: 18px;--top-icon-color: var(--color-text-1);display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width: 900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px;min-height:var(--top-forms-base-height);box-sizing:border-box;position:relative;display:flex;overflow:hidden;padding:var(--top-padding-1) var(--top-forms-padding);color:var(--top-forms-placeholder-color);border-radius:var(--top-radius-2);border:1px solid var(--top-forms-border-color);background:var(--top-forms-background-color)}.top-selector2-multiselect{width:unset;min-width:180px;padding:var(--top-padding-1)}.top-selector2.top-active{--top-forms-border-color: var(--top-forms-border-color-hover)}.top-selector2_activeItems{display:flex;flex-wrap:wrap;gap:var(--top-padding-1);max-width:100%}.top-selector2_activeName{white-space:nowrap}.top-changer-selector{transform:translate(-16px)}.top-info{--top-icon-width: var(--top-icon-size);border-radius:var(--top-forms-radius);box-sizing:border-box;min-height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-2);flex-grow:5;display:flex;align-items:center;justify-content:space-between;gap:var(--top-gap-2)}.top-info_text{flex-grow:1}.top-info_value{font-weight:700}.top-info.top-size_default{border-radius:var(--top-radius-3);padding:var(--top-padding-4)}.top-info-styling_default{--top-icon-color: var(--color-text-2);background:var(--color-layer-1)}.top-info-styling_info{--top-icon-color: var(--color-text-primary);background:var(--color-layer-primary-1)}.top-info-styling_warning{--top-icon-color: var(--color-text-warning);background:var(--color-layer-warning-1)}.top-info-styling_negative{--top-icon-color: var(--color-text-negative);background:var(--color-layer-negative-1)}
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-Dv9L8-AZ.amd","../utils/number.amd","../require/css.amd!../assets/charts.css"],function(L,C,e,M,g){"use strict";if(typeof e>"u")var e=window.Vue;const k=90,y=10,V=["data-top-icon"],B={class:"top-miniChart_chart"},b=["onMouseenter"],E={class:"top-miniChart_data"},_={class:"top-miniChart_dataValue"},w=["innerHTML"],D=e.defineComponent({__name:"miniChart",props:e.mergeModels({title:{},gIcon:{},color:{default:"blue"},dates:{},values:{},activeDates:{},keysForDyn:{},dynamic:{},isInvert:{type:Boolean},numberCols:{default:k},additionalHTML:{},modelValue:{},valueSuffix:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(m){const o=m,s=e.useModel(m,"modelValue"),i=t=>{let l=u.value;o.isInvert&&(t-=1,l-=1);let a=l>0?Math.round(t/l*(100-y)):0;return o.isInvert?100-a:a+y},p=t=>o.activeDates.includes(t),u=e.computed(()=>Math.max(...o.values)),c=e.computed(()=>o.dates.slice().reverse()),v=e.computed(()=>o.dates.length?o.numberCols-o.dates.length:0),h=()=>{s.value=null},r=(t,l,a)=>{t.target instanceof HTMLElement&&(s.value={elCol:t.target,date:M.dateFormat(l),value:a===null?"--":a+(o.valueSuffix??"")})},n=e.computed(()=>{let t=o.dynamic;if(typeof t>"u"){const a=o.values[o.keysForDyn.start];t=o.values[o.keysForDyn.end]-a}return(t<0?-1:1)*g.percentOfNumber(Math.abs(t))}),d=e.computed(()=>{let t="stay";return o.isInvert?(n.value>0&&(t="down"),n.value<0&&(t="up")):(n.value>0&&(t="up"),n.value<0&&(t="down")),t});return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart":!0,"top-miniChart_hideChartInMobile":t.hideChartInMobile,[`top-color_${t.color}`]:!0})},[e.createElementVNode("div",{class:"top-miniChart_title top-ellipsis","data-top-icon":t.gIcon},e.toDisplayString(t.title),9,V),e.createElementVNode("div",B,[e.createElementVNode("div",{class:"top-miniChart_chartGrid",onMouseleave:l[1]||(l[1]=a=>h())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart_chartGridCol":!0,"top-active":p(a)}),onMouseenter:z=>r(z,a,t.values[t.values.length-f-1])},[e.createElementVNode("div",{style:e.normalizeStyle("height:"+i(t.values[t.values.length-f-1])+"%")},null,4)],42,b))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,()=>(e.openBlock(),e.createElementBlock("div",{class:"top-miniChart_chartGridCol top-miniChart_chartGridCol-none",onMouseenter:l[0]||(l[0]=a=>h())},l[2]||(l[2]=[e.createElementVNode("div",null,null,-1)]),32))),256))],32)]),e.createElementVNode("div",E,[e.createElementVNode("span",{class:e.normalizeClass({"top-miniChart_dataDynamic":!0,[`top-miniChart_dataDynamic-direction_${d.value}`]:!0})},e.toDisplayString(Math.abs(n.value)||""),3),e.createElementVNode("span",_,e.toDisplayString(e.unref(g.percentOfNumber)(t.values[t.values.length-1])||0),1)]),t.additionalHTML?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:t.additionalHTML},null,8,w)):e.createCommentVNode("",!0)],2))}}),N={key:0,class:"top-miniCharts_pages"},S=["onClick"],T=e.defineComponent({__name:"miniCharts",props:e.mergeModels({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(m){const o=m,s=e.useModel(m,"modelValue"),i=e.ref(null);let p;const u=e.ref(1),c=e.ref(1),v=()=>{u.value=Math.round(i.value.scrollHeight/i.value.clientHeight)};e.watch(u,()=>{u.value<c.value&&(c.value=1)}),e.watch(()=>o.countCharts,()=>v(),{flush:"post"});const h=e.computed(()=>{if(!s.value)return{};const r=s.value.elCol.getBoundingClientRect(),n={top:r.bottom+window.scrollY+"px"};return document.documentElement.clientWidth/2>r.right?n.left=r.right+window.scrollX+10+"px":(n.left=r.left+window.scrollX-10+"px",n.transform="translate(-100%, 0)"),n});return e.onMounted(()=>{p=new ResizeObserver(()=>v()),p.observe(i.value),e.watch(c,()=>{const d=(i.value.children[0].clientHeight+parseInt(window.getComputedStyle(i.value).getPropertyValue("row-gap")))*(c.value-1);i.value.scrollTo({top:d,behavior:"smooth"})})}),e.onUnmounted(()=>{p.disconnect()}),(r,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-miniCharts",{"top-miniCharts":!0,scrollable:u.value>1,"top-miniCharts_hideChartInMobile":r.hideChartInMobile}]),ref_key:"elRef",ref:i},[e.renderSlot(r.$slots,"default"),u.value>1?(e.openBlock(),e.createElementBlock("div",N,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,d=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"top-active":d===c.value}),onClick:t=>c.value=d},null,10,S))),256))])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-miniCharts_tooltip",style:e.normalizeStyle(h.value)},[e.createElementVNode("span",null,e.toDisplayString(s.value.date),1),e.createElementVNode("span",null,e.toDisplayString(s.value.value),1)],4)):e.createCommentVNode("",!0)]))],2))}}),H=D,I=T;C.TopMiniChart=H,C.TopMiniCharts=I,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-BwGakScF.amd","../utils/number.amd","../require/css.amd!../assets/charts.css"],function(L,C,e,M,g){"use strict";if(typeof e>"u")var e=window.Vue;const k=90,y=10,V=["data-top-icon"],B={class:"top-miniChart_chart"},b=["onMouseenter"],E={class:"top-miniChart_data"},_={class:"top-miniChart_dataValue"},w=["innerHTML"],D=e.defineComponent({__name:"miniChart",props:e.mergeModels({title:{},gIcon:{},color:{default:"blue"},dates:{},values:{},activeDates:{},keysForDyn:{},dynamic:{},isInvert:{type:Boolean},numberCols:{default:k},additionalHTML:{},modelValue:{},valueSuffix:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(m){const o=m,s=e.useModel(m,"modelValue"),i=t=>{let l=u.value;o.isInvert&&(t-=1,l-=1);let a=l>0?Math.round(t/l*(100-y)):0;return o.isInvert?100-a:a+y},p=t=>o.activeDates.includes(t),u=e.computed(()=>Math.max(...o.values)),c=e.computed(()=>o.dates.slice().reverse()),v=e.computed(()=>o.dates.length?o.numberCols-o.dates.length:0),h=()=>{s.value=null},r=(t,l,a)=>{t.target instanceof HTMLElement&&(s.value={elCol:t.target,date:M.dateFormat(l),value:a===null?"--":a+(o.valueSuffix??"")})},n=e.computed(()=>{let t=o.dynamic;if(typeof t>"u"){const a=o.values[o.keysForDyn.start];t=o.values[o.keysForDyn.end]-a}return(t<0?-1:1)*g.percentOfNumber(Math.abs(t))}),d=e.computed(()=>{let t="stay";return o.isInvert?(n.value>0&&(t="down"),n.value<0&&(t="up")):(n.value>0&&(t="up"),n.value<0&&(t="down")),t});return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart":!0,"top-miniChart_hideChartInMobile":t.hideChartInMobile,[`top-color_${t.color}`]:!0})},[e.createElementVNode("div",{class:"top-miniChart_title top-ellipsis","data-top-icon":t.gIcon},e.toDisplayString(t.title),9,V),e.createElementVNode("div",B,[e.createElementVNode("div",{class:"top-miniChart_chartGrid",onMouseleave:l[1]||(l[1]=a=>h())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart_chartGridCol":!0,"top-active":p(a)}),onMouseenter:z=>r(z,a,t.values[t.values.length-f-1])},[e.createElementVNode("div",{style:e.normalizeStyle("height:"+i(t.values[t.values.length-f-1])+"%")},null,4)],42,b))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,()=>(e.openBlock(),e.createElementBlock("div",{class:"top-miniChart_chartGridCol top-miniChart_chartGridCol-none",onMouseenter:l[0]||(l[0]=a=>h())},l[2]||(l[2]=[e.createElementVNode("div",null,null,-1)]),32))),256))],32)]),e.createElementVNode("div",E,[e.createElementVNode("span",{class:e.normalizeClass({"top-miniChart_dataDynamic":!0,[`top-miniChart_dataDynamic-direction_${d.value}`]:!0})},e.toDisplayString(Math.abs(n.value)||""),3),e.createElementVNode("span",_,e.toDisplayString(e.unref(g.percentOfNumber)(t.values[t.values.length-1])||0),1)]),t.additionalHTML?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:t.additionalHTML},null,8,w)):e.createCommentVNode("",!0)],2))}}),N={key:0,class:"top-miniCharts_pages"},S=["onClick"],T=e.defineComponent({__name:"miniCharts",props:e.mergeModels({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(m){const o=m,s=e.useModel(m,"modelValue"),i=e.ref(null);let p;const u=e.ref(1),c=e.ref(1),v=()=>{u.value=Math.round(i.value.scrollHeight/i.value.clientHeight)};e.watch(u,()=>{u.value<c.value&&(c.value=1)}),e.watch(()=>o.countCharts,()=>v(),{flush:"post"});const h=e.computed(()=>{if(!s.value)return{};const r=s.value.elCol.getBoundingClientRect(),n={top:r.bottom+window.scrollY+"px"};return document.documentElement.clientWidth/2>r.right?n.left=r.right+window.scrollX+10+"px":(n.left=r.left+window.scrollX-10+"px",n.transform="translate(-100%, 0)"),n});return e.onMounted(()=>{p=new ResizeObserver(()=>v()),p.observe(i.value),e.watch(c,()=>{const d=(i.value.children[0].clientHeight+parseInt(window.getComputedStyle(i.value).getPropertyValue("row-gap")))*(c.value-1);i.value.scrollTo({top:d,behavior:"smooth"})})}),e.onUnmounted(()=>{p.disconnect()}),(r,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-miniCharts",{"top-miniCharts":!0,scrollable:u.value>1,"top-miniCharts_hideChartInMobile":r.hideChartInMobile}]),ref_key:"elRef",ref:i},[e.renderSlot(r.$slots,"default"),u.value>1?(e.openBlock(),e.createElementBlock("div",N,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,d=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"top-active":d===c.value}),onClick:t=>c.value=d},null,10,S))),256))])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-miniCharts_tooltip",style:e.normalizeStyle(h.value)},[e.createElementVNode("span",null,e.toDisplayString(s.value.date),1),e.createElementVNode("span",null,e.toDisplayString(s.value.value),1)],4)):e.createCommentVNode("",!0)]))],2))}}),H=D,I=T;C.TopMiniChart=H,C.TopMiniCharts=I,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=charts.amd.js.map