@topvisor/ui 1.0.41-dialog.1 → 1.0.42-TopSelector.2

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 (144) hide show
  1. package/.chunks/{core-D2o3elGA.amd.js → core-CNHOrWnw.amd.js} +2 -2
  2. package/.chunks/{core-D2o3elGA.amd.js.map → core-CNHOrWnw.amd.js.map} +1 -1
  3. package/.chunks/{core-CwjGTMhd.es.js → core-CZLRhkk2.es.js} +4 -4
  4. package/.chunks/{core-CwjGTMhd.es.js.map → core-CZLRhkk2.es.js.map} +1 -1
  5. package/.chunks/{datepicker-N83oX3hx.es.js → datepicker-BZ-GKoJc.es.js} +2 -2
  6. package/.chunks/{datepicker-N83oX3hx.es.js.map → datepicker-BZ-GKoJc.es.js.map} +1 -1
  7. package/.chunks/{datepicker-Byyye2pn.amd.js → datepicker-DnMEQ2c7.amd.js} +2 -2
  8. package/.chunks/{datepicker-Byyye2pn.amd.js.map → datepicker-DnMEQ2c7.amd.js.map} +1 -1
  9. package/.chunks/{dialog_selectorRegions-pDIYvl7b.amd.js → dialog_selectorRegions-B7ylHRje.amd.js} +2 -2
  10. package/.chunks/{dialog_selectorRegions-pDIYvl7b.amd.js.map → dialog_selectorRegions-B7ylHRje.amd.js.map} +1 -1
  11. package/.chunks/{dialog_selectorRegions-lYV2SJBx.es.js → dialog_selectorRegions-CR77RefG.es.js} +4 -4
  12. package/.chunks/{dialog_selectorRegions-lYV2SJBx.es.js.map → dialog_selectorRegions-CR77RefG.es.js.map} +1 -1
  13. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd.js +2 -0
  14. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd.js.map +1 -0
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js → dialogs.vue_vue_type_script_setup_true_lang-sExyADFk.es.js} +113 -97
  16. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-sExyADFk.es.js.map +1 -0
  17. package/.chunks/{forms-C-fyoosd.es.js → forms-1PEYT7sp.es.js} +482 -470
  18. package/.chunks/{forms-C-fyoosd.es.js.map → forms-1PEYT7sp.es.js.map} +1 -1
  19. package/.chunks/forms-BduN5hFf.amd.js +3 -0
  20. package/.chunks/{forms-DO87ZZk9.amd.js.map → forms-BduN5hFf.amd.js.map} +1 -1
  21. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js → listItem.vue_vue_type_script_setup_true_lang-C660hIcG.amd.js} +2 -2
  22. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-C660hIcG.amd.js.map} +1 -1
  23. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js → listItem.vue_vue_type_script_setup_true_lang-DPwnYUm-.es.js} +2 -2
  24. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js.map → listItem.vue_vue_type_script_setup_true_lang-DPwnYUm-.es.js.map} +1 -1
  25. package/.chunks/{menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js → menu.vue_vue_type_style_index_0_lang-BYP0xpzD.es.js} +2 -2
  26. package/.chunks/{menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js.map → menu.vue_vue_type_style_index_0_lang-BYP0xpzD.es.js.map} +1 -1
  27. package/.chunks/{menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js → menu.vue_vue_type_style_index_0_lang-C9cIXmj2.amd.js} +2 -2
  28. package/.chunks/{menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js.map → menu.vue_vue_type_style_index_0_lang-C9cIXmj2.amd.js.map} +1 -1
  29. package/.chunks/{notice-DCONQ8rR.es.js → notice-C505E22P.es.js} +2 -2
  30. package/.chunks/{notice-DCONQ8rR.es.js.map → notice-C505E22P.es.js.map} +1 -1
  31. package/.chunks/{notice-B8nfJMJN.amd.js → notice-CEYLelBs.amd.js} +2 -2
  32. package/.chunks/{notice-B8nfJMJN.amd.js.map → notice-CEYLelBs.amd.js.map} +1 -1
  33. package/.chunks/{page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js → page.vue_vue_type_script_setup_true_lang-DpmKeCWn.amd.js} +2 -2
  34. package/.chunks/page.vue_vue_type_script_setup_true_lang-DpmKeCWn.amd.js.map +1 -0
  35. package/.chunks/{page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js → page.vue_vue_type_script_setup_true_lang-_-EoskSt.es.js} +4 -4
  36. package/.chunks/page.vue_vue_type_script_setup_true_lang-_-EoskSt.es.js.map +1 -0
  37. package/.chunks/{popup-PpCQY5Zi.es.js → popup-Bh3WbTKH.es.js} +106 -73
  38. package/.chunks/popup-Bh3WbTKH.es.js.map +1 -0
  39. package/.chunks/popup-C5-ffkMJ.amd.js +2 -0
  40. package/.chunks/popup-C5-ffkMJ.amd.js.map +1 -0
  41. package/.chunks/{utils-DAIrXU57.amd.js → utils-BgjhCn4H.amd.js} +2 -2
  42. package/.chunks/{utils-DAIrXU57.amd.js.map → utils-BgjhCn4H.amd.js.map} +1 -1
  43. package/.chunks/{utils-BcKnFj1j.es.js → utils-CMJHpNDX.es.js} +246 -169
  44. package/.chunks/utils-CMJHpNDX.es.js.map +1 -0
  45. package/.chunks/{utils-DsICGMuv.es.js → utils-DEyMm4Iq.es.js} +2 -2
  46. package/.chunks/{utils-DsICGMuv.es.js.map → utils-DEyMm4Iq.es.js.map} +1 -1
  47. package/.chunks/utils-DWmOkm95.amd.js +2 -0
  48. package/.chunks/utils-DWmOkm95.amd.js.map +1 -0
  49. package/assets/core.css +1 -1
  50. package/assets/forms.css +1 -1
  51. package/assets/formsExt.css +1 -1
  52. package/assets/notice.css +1 -1
  53. package/assets/project.css +1 -1
  54. package/charts/charts.amd.js +1 -1
  55. package/charts/charts.js +1 -1
  56. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +3 -0
  57. package/components/dialog/lib/types.d.ts +23 -0
  58. package/components/dialog/lib/utils.d.ts +8 -8
  59. package/components/dialog/lib/utils.globalEvents.d.ts +2 -2
  60. package/components/dialog/lib/worker.d.ts +12 -11
  61. package/components/forms/button/button.vue.d.ts +2 -5
  62. package/components/forms/button/types.d.ts +10 -0
  63. package/components/formsExt/formsExt.d.ts +2 -0
  64. package/components/formsExt/policy/policy.vue.d.ts +4 -0
  65. package/components/formsExt/policy/types.d.ts +10 -0
  66. package/components/formsExt/selector2/composables/useAPI.d.ts +1 -1
  67. package/components/formsExt/selector2/composables/useMenu.d.ts +5 -1
  68. package/components/formsExt/selector2/selector2.vue.d.ts +3 -4
  69. package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +1 -2
  70. package/components/formsExt/selector2/types.d.ts +48 -22
  71. package/components/popup/lib/popup.d.ts +1 -0
  72. package/components/popup/lib/worker.d.ts +4 -2
  73. package/core/app.amd.js +1 -1
  74. package/core/app.js +5 -5
  75. package/core/core/core.d.ts +1 -1
  76. package/core/core/options.d.ts +7 -6
  77. package/core/core/state.d.ts +1 -1
  78. package/core/plugins/core.d.ts +1 -1
  79. package/core/utils/date.d.ts +30 -12
  80. package/core/utils/dom.d.ts +11 -1
  81. package/core/utils/string.d.ts +1 -1
  82. package/dialog/dialog.amd.js +1 -1
  83. package/dialog/dialog.js +2 -2
  84. package/forms/forms.amd.js +1 -1
  85. package/forms/forms.js +1 -1
  86. package/formsExt/formsExt.amd.js +1 -1
  87. package/formsExt/formsExt.amd.js.map +1 -1
  88. package/formsExt/formsExt.js +432 -309
  89. package/formsExt/formsExt.js.map +1 -1
  90. package/icomoon/demo.html +15 -1
  91. package/icomoon/fonts/Topvisor-2.eot +0 -0
  92. package/icomoon/fonts/Topvisor-2.svg +1 -0
  93. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  94. package/icomoon/fonts/Topvisor-2.woff +0 -0
  95. package/icomoon/selection.json +1 -1
  96. package/icomoon/style.css +8 -5
  97. package/layout/layout.amd.js +1 -1
  98. package/layout/layout.js +1 -1
  99. package/package.json +1 -1
  100. package/popup/popup.amd.js +1 -1
  101. package/popup/popup.js +2 -2
  102. package/popup/worker.amd.js +1 -1
  103. package/popup/worker.amd.js.map +1 -1
  104. package/popup/worker.js +30 -21
  105. package/popup/worker.js.map +1 -1
  106. package/project/project.amd.js +1 -1
  107. package/project/project.amd.js.map +1 -1
  108. package/project/project.js +6 -6
  109. package/project/project.js.map +1 -1
  110. package/tabsView/tabsView.amd.js +1 -1
  111. package/tabsView/tabsView.js +1 -1
  112. package/utils/clipboard.amd.js +1 -1
  113. package/utils/clipboard.js +1 -1
  114. package/utils/date.amd.js +1 -1
  115. package/utils/date.js +4 -3
  116. package/utils/device.amd.js +1 -1
  117. package/utils/device.js +1 -1
  118. package/utils/dom.amd.js +1 -1
  119. package/utils/dom.amd.js.map +1 -1
  120. package/utils/dom.js +27 -22
  121. package/utils/dom.js.map +1 -1
  122. package/utils/lodash.amd.js +1 -1
  123. package/utils/lodash.js +1 -1
  124. package/utils/price.amd.js +1 -1
  125. package/utils/price.js +1 -1
  126. package/utils/searchers.amd.js +1 -1
  127. package/utils/searchers.js +3 -3
  128. package/utils/string.amd.js +1 -1
  129. package/utils/string.amd.js.map +1 -1
  130. package/utils/string.js +34 -30
  131. package/utils/string.js.map +1 -1
  132. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js +0 -2
  133. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js.map +0 -1
  134. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js.map +0 -1
  135. package/.chunks/forms-DO87ZZk9.amd.js +0 -3
  136. package/.chunks/page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js.map +0 -1
  137. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js.map +0 -1
  138. package/.chunks/popup-PpCQY5Zi.es.js.map +0 -1
  139. package/.chunks/popup-XXfdNLmr.amd.js +0 -2
  140. package/.chunks/popup-XXfdNLmr.amd.js.map +0 -1
  141. package/.chunks/utils-BcKnFj1j.es.js.map +0 -1
  142. package/.chunks/utils-pvFg1FqE.amd.js +0 -2
  143. package/.chunks/utils-pvFg1FqE.amd.js.map +0 -1
  144. package/icomoon/Topvisor icons.json +0 -6612
@@ -1 +1 @@
1
- .top-selectorCompetitors_opener.top-button{width:100%}.top-select-searcher_key[data-value="0"]:after,.top-select-searcher_key[data-value="20"]:after,.top-select-searcher_key[data-value="21"]:after{color:red}.top-select-searcher_key[data-value="1"]:after{color:var(--color-bg-primary-2)}.top-select-searcher_key[data-value="2"]:after{color:#005ff9}.top-select-searcher_key[data-value="3"]:after{color:#01509b}.top-select-searcher_key[data-value="4"]:after{color:red}.top-select-searcher_key[data-value="5"]:after{color:#008373}.top-select-searcher_key[data-value="6"]:after{color:#4800b5}.top-select-searcher_key[data-value="7"]:after{color:#c00}.top-select-searcher_key[data-value="8"]:after{color:#1badf8}.top-select-searcher_key[data-value="9"]:after{color:#00ceff}.top-selectorRegion{width:340px;display:inline-flex;vertical-align:middle}.top-selectorRegion>.top-select{flex-grow:1}.top-selectorRegion>.top-select:focus-within{z-index:4}.top-selectorRegion>.top-select>.top-select_select:hover,.top-selectorRegion>.top-select>.top-select_select.top-error{z-index:1}.top-selectorRegion>.top-select-searcher_key{width:140px;max-width:160px;margin-right:-1px}.top-selectorRegion>.top-select-region>select{border-top-left-radius:0;border-bottom-left-radius:0}.top-selectorRegion>.top-select-region{--top-icon-size: 20px;--top-icon-color: var(--color-text-primary);--top-icon2-size: 20px;--top-icon2-color: var(--color-text-primary)}.top-selectorRegion>.top-select-region[data-top-icon][data-top-icon2]{--top-icon2-size: 16px}.top-selectorRegion>.top-select-region[data-top-icon][data-top-icon2]:after{text-indent:-4px}.top-selectorRegion>[name=compare]{border-top-left-radius:0;border-bottom-left-radius:0;flex-grow:1}.top-selectorRegion>[name=compare]:after{content:"(" attr(data-count-compare-regions-indexes) ")";margin:0 0 0 6px}.top-selectorRegion:not(.top-selectorRegion-onlySearcher)>.top-select-searcher_key>select{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.top-selectorRegion:not(.top-selectorRegion-onlySearcher)>.top-select-searcher_key[data-value="-1"]>select{border-right:none}.top-selectorRegion-onlySearcher{width:140px}[data-tag_id]{display:inline-flex;gap:var(--top-gap-2);align-items:center}[data-tag_id=""]{border-color:#bdc3c7!important;color:#55555f!important}[data-tag_color_id="1"]{border-color:var(--color-tag-1)!important;color:#55555f!important}[data-tag_color_id="2"]{border-color:var(--color-tag-2)!important;color:var(--color-tag-2)!important}[data-tag_color_id="3"]{border-color:var(--color-tag-3)!important;color:var(--color-tag-3)!important}[data-tag_color_id="4"]{border-color:var(--color-tag-4)!important;color:var(--color-tag-4)!important}[data-tag_color_id="5"]{border-color:var(--color-tag-5)!important;color:var(--color-tag-5)!important}[data-tag_color_id="6"]{border-color:var(--color-tag-6)!important;color:var(--color-tag-6)!important}[data-tag_color_id="7"]{border-color:var(--color-tag-7)!important;color:var(--color-tag-7)!important}[data-tag_color_id="8"]{border-color:var(--color-tag-8)!important;color:var(--color-tag-8)!important}[data-tag_color_id="9"]{border-color:var(--color-tag-9)!important;color:var(--color-tag-9)!important}[data-tag_color_id="10"]{border-color:var(--color-tag-10)!important;color:var(--color-tag-10)!important}[data-tag_id=""].top-tagSelector-active{background:#bdc3c7!important}[data-tag_color_id="1"].top-tagSelector-active{background:var(--color-tag-1)!important}[data-tag_color_id="2"].top-tagSelector-active{background:var(--color-tag-2)!important}[data-tag_color_id="3"].top-tagSelector-active{background:var(--color-tag-3)!important}[data-tag_color_id="4"].top-tagSelector-active{background:var(--color-tag-4)!important}[data-tag_color_id="5"].top-tagSelector-active{background:var(--color-tag-5)!important}[data-tag_color_id="6"].top-tagSelector-active{background:var(--color-tag-6)!important}[data-tag_color_id="7"].top-tagSelector-active{background:var(--color-tag-7)!important}[data-tag_color_id="8"].top-tagSelector-active{background:var(--color-tag-8)!important}[data-tag_color_id="9"].top-tagSelector-active{background:var(--color-tag-9)!important}[data-tag_color_id="10"].top-tagSelector-active{background:var(--color-tag-10)!important}[data-tag_id=all]{border-color:transparent!important;background:none!important;color:var(--color-text-2)}[data-tag_id=all]:before{content:"";color:var(--color-tag-all)!important;font-size:26px;min-width:calc(100% + 4px);height:calc(100% + 4px);margin-top:-18px;margin-left:-8px}.top-tagSelector-filter [data-tag_id],.top-tagSelector_popup [data-tag_id]{--top-tag-selector-size: 10px;box-sizing:content-box;border-radius:100%;border:2px solid var(--color-layout-front-1);background:var(--color-layout-front-1);width:var(--top-tag-selector-size);height:var(--top-tag-selector-size);font-size:calc(var(--top-tag-selector-size) + 4px)}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id],[data-tag_id].top-tagSelector-excluded{position:relative}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id]:before,[data-tag_id].top-tagSelector-excluded:before{content:"";width:calc(var(--top-tag-selector-size) * 2);height:1px;background:inherit;transform:rotate(-45deg);filter:brightness(80%);display:block;position:absolute;top:calc(var(--top-tag-selector-size) / 2);left:calc(0px - var(--top-tag-selector-size) / 2)}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id]:not([data-tag_id=all]):not(.top-tagSelector-active):before{background:#aaa}[data-tag_id].top-tagSelector-excluded:after,[data-tag_id].top-tagSelector-excluded~.top-tagSelector_tagListItemName{text-decoration:line-through}.top-popup_listItem.top-tagSelector-active{background:var(--top-popup-background-color-active)!important}.top-popup_listItem:hover [data-tag_id=all]:before{border-color:var(--top-popup-background-color-hover)}.top-popup_listItem.top-tagSelector-active [data-tag_id=all]:before,.top-popup_listItem.top-active [data-tag_id=all]:before{border-color:var(--top-popup-background-color-active)}.top-tagSelector_tagListItem.top-popup_listItem{padding-top:var(--top-padding-2)!important;padding-bottom:var(--top-padding-2)!important;gap:10px}.top-tagSelector_tagListItemName{border-radius:var(--top-radius-1);width:120px;padding:4px 2px;margin:-4px -2px;text-overflow:ellipsis;overflow:hidden;flex-grow:1}.top-tagSelector_edit{--top-icon-size: 18px;--top-icon-color: var(--color-text-3);width:20px;flex-grow:0}.top-tagSelector_edit:before{line-height:0}.top-tagSelector_edit{opacity:0}.top-tagSelector_edit:hover{--top-icon-color: var(--color-text-primary)}.top-tagSelector_tagListItem:hover .top-tagSelector_edit,.top-tagSelector_tagListItem-inEdit .top-tagSelector_edit{cursor:pointer;opacity:1}.top-tagSelector_tagListItem-inEdit{background:var(--color-layout-front-3)!important;outline:1px dashed var(--color-line-2);outline-offset:-1px}.top-tagSelector_tagListItem-inEdit .top-tagSelector_tagListItemName{cursor:text;background:var(--color-layout-front-1)}.top-tagSelector_tagListItem-disabled{cursor:not-allowed!important;opacity:.85}.top-tagSelector_tagListItem-disabled:hover{background:inherit}.top-tagSelector_tagListItem-disabled [data-tag_id]{opacity:.6}.top-tagSelector{cursor:pointer;min-width:0;white-space:nowrap;justify-content:left}.top-tagSelector.top-button{width:112px;vertical-align:middle}.top-tagSelector.top-button.top-select_arrow{width:132px}.top-tagSelector-filter{gap:var(--top-gap-1)}.top-tagSelector-filter [data-tag_id=all]:before{margin-right:6px}.top-tagSelector-filter.top-tagSelector-selectedOne [data-tag_id]:after{content:attr(title);margin-left:20px;min-width:74px;text-align:left;line-height:1.2;text-overflow:ellipsis;overflow:hidden}.top-tagSelector-filter.top-tagSelector-selectedOne [data-tag_id=all]:after{margin-left:0}.top-button.top-tagSelector-filter.top-tagSelector-toTwoLine{flex-wrap:wrap;align-content:center}.top-button.top-tagSelector-filter.top-tagSelector-toTwoLine [data-tag_id]{--top-tag-selector-size: 8px}.top-button.top-tagSelector-filter.top-tagSelector-toTwoLine [data-tag_id]:nth-child(5){margin-right:5px}.top-tagSelector-setter_single{position:relative;display:flex!important;flex-direction:column;flex-wrap:wrap;align-items:stretch!important}.top-tagSelector-setter_single [data-tag_id]{width:auto;min-height:20%;min-width:50%;flex:1 1 auto}.top-tagSelector_popup .top-popup{-webkit-user-select:none;user-select:none;min-width:220px!important;text-align:left}.top-tagSelector_popup .top-popup_header .top-select{flex-grow:1}
1
+ .top-selectorCompetitors_opener.top-button{width:100%}.top-select-searcher_key[data-value="0"]:after,.top-select-searcher_key[data-value="20"]:after,.top-select-searcher_key[data-value="21"]:after{color:red}.top-select-searcher_key[data-value="1"]:after{color:var(--color-bg-primary-2)}.top-select-searcher_key[data-value="2"]:after{color:#005ff9}.top-select-searcher_key[data-value="3"]:after{color:#01509b}.top-select-searcher_key[data-value="4"]:after{color:red}.top-select-searcher_key[data-value="5"]:after{color:#008373}.top-select-searcher_key[data-value="6"]:after{color:#4800b5}.top-select-searcher_key[data-value="7"]:after{color:#c00}.top-select-searcher_key[data-value="8"]:after{color:#1badf8}.top-select-searcher_key[data-value="9"]:after{color:#00ceff}.top-selectorRegion{width:340px;display:inline-flex;vertical-align:middle}.top-selectorRegion>.top-select{flex-grow:1}.top-selectorRegion>.top-select:focus-within{z-index:4}.top-selectorRegion>.top-select>.top-select_select:hover,.top-selectorRegion>.top-select>.top-select_select.top-error{z-index:1}.top-selectorRegion>.top-select-searcher_key{width:140px;max-width:160px;margin-right:-1px}.top-selectorRegion>.top-select-region>select{border-top-left-radius:0;border-bottom-left-radius:0}.top-selectorRegion>.top-select-region{--top-icon-size: 20px;--top-icon-color: var(--color-text-primary);--top-icon2-size: 20px;--top-icon2-color: var(--color-text-primary)}.top-selectorRegion>.top-select-region[data-top-icon][data-top-icon2]{--top-icon2-size: 16px}.top-selectorRegion>.top-select-region[data-top-icon][data-top-icon2]:after{text-indent:-4px}.top-selectorRegion>[name=compare]{border-top-left-radius:0;border-bottom-left-radius:0;flex-grow:1}.top-selectorRegion>[name=compare]:after{content:"(" attr(data-count-compare-regions-indexes) ")";margin:0 0 0 6px}.top-selectorRegion:not(.top-selectorRegion-onlySearcher)>.top-select-searcher_key>select{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.top-selectorRegion:not(.top-selectorRegion-onlySearcher)>.top-select-searcher_key[data-value="-1"]>select{border-right:none}.top-selectorRegion-onlySearcher{width:140px}[data-tag_id]{display:inline-flex;gap:var(--top-gap-2);align-items:center}[data-tag_id=""]{border-color:#bdc3c7!important;color:#55555f!important}[data-tag_color_id="1"]{border-color:var(--color-tag-1)!important;color:#55555f!important}[data-tag_color_id="2"]{border-color:var(--color-tag-2)!important;color:var(--color-tag-2)!important}[data-tag_color_id="3"]{border-color:var(--color-tag-3)!important;color:var(--color-tag-3)!important}[data-tag_color_id="4"]{border-color:var(--color-tag-4)!important;color:var(--color-tag-4)!important}[data-tag_color_id="5"]{border-color:var(--color-tag-5)!important;color:var(--color-tag-5)!important}[data-tag_color_id="6"]{border-color:var(--color-tag-6)!important;color:var(--color-tag-6)!important}[data-tag_color_id="7"]{border-color:var(--color-tag-7)!important;color:var(--color-tag-7)!important}[data-tag_color_id="8"]{border-color:var(--color-tag-8)!important;color:var(--color-tag-8)!important}[data-tag_color_id="9"]{border-color:var(--color-tag-9)!important;color:var(--color-tag-9)!important}[data-tag_color_id="10"]{border-color:var(--color-tag-10)!important;color:var(--color-tag-10)!important}[data-tag_id=""].top-tagSelector-active{background:#bdc3c7!important}[data-tag_color_id="1"].top-tagSelector-active{background:var(--color-tag-1)!important}[data-tag_color_id="2"].top-tagSelector-active{background:var(--color-tag-2)!important}[data-tag_color_id="3"].top-tagSelector-active{background:var(--color-tag-3)!important}[data-tag_color_id="4"].top-tagSelector-active{background:var(--color-tag-4)!important}[data-tag_color_id="5"].top-tagSelector-active{background:var(--color-tag-5)!important}[data-tag_color_id="6"].top-tagSelector-active{background:var(--color-tag-6)!important}[data-tag_color_id="7"].top-tagSelector-active{background:var(--color-tag-7)!important}[data-tag_color_id="8"].top-tagSelector-active{background:var(--color-tag-8)!important}[data-tag_color_id="9"].top-tagSelector-active{background:var(--color-tag-9)!important}[data-tag_color_id="10"].top-tagSelector-active{background:var(--color-tag-10)!important}[data-tag_id=all]{border-color:transparent!important;background:none!important;color:var(--color-text-2)}[data-tag_id=all]:before{content:"";color:var(--color-tag-all)!important;font-size:26px;min-width:calc(100% + 4px);height:calc(100% + 4px);margin-top:-18px;margin-left:-8px}.top-tagSelector-filter [data-tag_id],.top-tagSelector_popup [data-tag_id]{--top-tag-selector-size: 10px;box-sizing:content-box;border-radius:100%;border:2px solid var(--color-layout-front-1);background:var(--color-layout-front-1);width:var(--top-tag-selector-size);height:var(--top-tag-selector-size);font-size:calc(var(--top-tag-selector-size) + 4px)}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id],[data-tag_id].top-tagSelector-excluded{position:relative}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id]:before,[data-tag_id].top-tagSelector-excluded:before{content:"";width:calc(var(--top-tag-selector-size) * 2);height:1px;background:inherit;transform:rotate(-45deg);filter:brightness(80%);display:block;position:absolute;top:calc(var(--top-tag-selector-size) / 2);left:calc(0px - var(--top-tag-selector-size) / 2)}.top-body-press_ctrl .top-tagSelector_tagListItem-canExclude:hover [data-tag_id]:not([data-tag_id=all]):not(.top-tagSelector-active):before{background:#aaa}[data-tag_id].top-tagSelector-excluded:after,[data-tag_id].top-tagSelector-excluded~.top-tagSelector_tagListItemName{text-decoration:line-through}.top-popup_listItem.top-tagSelector-active{background:var(--top-popup-background-color-active)!important}.top-popup_listItem:hover [data-tag_id=all]:before{border-color:var(--top-popup-background-color-hover)}.top-popup_listItem.top-tagSelector-active [data-tag_id=all]:before,.top-popup_listItem.top-active [data-tag_id=all]:before{border-color:var(--top-popup-background-color-active)}.top-tagSelector_tagListItem.top-popup_listItem{padding-top:var(--top-padding-2)!important;padding-bottom:var(--top-padding-2)!important;gap:10px}.top-tagSelector_tagListItemName{border-radius:var(--top-radius-1);width:120px;padding:4px 2px;margin:-4px -2px;text-overflow:ellipsis;overflow:hidden;flex-grow:1}.top-tagSelector_edit{--top-icon-size: 18px;--top-icon-color: var(--color-text-3);width:20px;flex-grow:0}.top-tagSelector_edit:before{line-height:0}.top-tagSelector_edit{opacity:0}.top-tagSelector_edit:hover{--top-icon-color: var(--color-text-primary)}.top-tagSelector_tagListItem:hover .top-tagSelector_edit,.top-tagSelector_tagListItem-inEdit .top-tagSelector_edit{cursor:pointer;opacity:1}.top-tagSelector_tagListItem-inEdit{background:var(--color-layout-front-3)!important;outline:1px dashed var(--color-line-2);outline-offset:-1px}.top-tagSelector_tagListItem-inEdit .top-tagSelector_tagListItemName{cursor:text;background:var(--color-layout-front-1)}.top-tagSelector_tagListItem-disabled{cursor:not-allowed!important;opacity:.85}.top-tagSelector_tagListItem-disabled:hover{background:inherit}.top-tagSelector_tagListItem-disabled [data-tag_id]{opacity:.6}.top-tagSelector{cursor:pointer;min-width:0;white-space:nowrap;justify-content:left}.top-tagSelector.top-button{width:112px;vertical-align:middle}.top-tagSelector.top-button.top-as-selector{width:132px}.top-tagSelector-filter{gap:var(--top-gap-1)}.top-tagSelector-filter [data-tag_id=all]:before{margin-right:6px}.top-tagSelector-filter.top-tagSelector-selectedOne [data-tag_id]:after{content:attr(title);margin-left:20px;min-width:74px;text-align:left;line-height:1.2;text-overflow:ellipsis;overflow:hidden}.top-tagSelector-filter.top-tagSelector-selectedOne [data-tag_id=all]:after{margin-left:0}.top-button.top-tagSelector-filter.top-tagSelector-toTwoLine{flex-wrap:wrap;align-content:center}.top-button.top-tagSelector-filter.top-tagSelector-toTwoLine [data-tag_id]{--top-tag-selector-size: 8px}.top-button.top-tagSelector-filter.top-tagSelector-toTwoLine [data-tag_id]:nth-child(5){margin-right:5px}.top-tagSelector-setter_single{position:relative;display:flex!important;flex-direction:column;flex-wrap:wrap;align-items:stretch!important}.top-tagSelector-setter_single [data-tag_id]{width:auto;min-height:20%;min-width:50%;flex:1 1 auto}.top-tagSelector_popup .top-popup{-webkit-user-select:none;user-select:none;min-width:220px!important;text-align:left}.top-tagSelector_popup .top-popup_header .top-select{flex-grow:1}
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-DO87ZZk9.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-BduN5hFf.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
package/charts/charts.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Core as P } from "../core/app.js";
2
2
  import { defineComponent as T, mergeModels as S, useModel as $, computed as h, createElementBlock as i, openBlock as a, normalizeClass as f, createElementVNode as r, createCommentVNode as k, toDisplayString as g, Fragment as w, renderList as H, normalizeStyle as L, unref as F, ref as b, watch as V, onMounted as N, onUnmounted as R, renderSlot as z, createBlock as G, Teleport as O } from "vue";
3
- import { c as X } from "../.chunks/forms-C-fyoosd.es.js";
3
+ import { c as X } from "../.chunks/forms-1PEYT7sp.es.js";
4
4
  import { percentOfNumber as I } from "../utils/number.js";
5
5
  const E = ["../assets/charts.css"].map((v) => import.meta.resolve(v));
6
6
  P.insertCSSLinkToPage(E, !0);
@@ -1,6 +1,9 @@
1
1
  import { TopDialogHandle } from '../composables/dialogHandle';
2
2
  import { TopDialogComponent } from '../composables/types';
3
3
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
4
+ /**
5
+ * Получить компонент диалогового окна по id
6
+ */
4
7
  export declare const getDialogWorker: (id: string) => TopDialogHandle<TopDialogComponent> | undefined;
5
8
  /**
6
9
  * Добавить компонент диалогового окна для использования
@@ -19,3 +19,26 @@ export type TopDialogOptions = {
19
19
  export type TopDialogLoad = (dialogId: string) => Promise<void>;
20
20
  export type DecoratorOnCreate = (elDialog: HTMLElement) => Promise<void>;
21
21
  export type MoveDirection = 'next' | 'prev' | 'none';
22
+ export type ElTopDialogOpener<El extends HTMLElement = HTMLElement> = El & {
23
+ dataset: {
24
+ toView: string;
25
+ };
26
+ };
27
+ export type ElTopDialogWrapper = HTMLElement & {
28
+ querySelector: (selectors: '.ui-dialog-content') => ElTopDialog;
29
+ };
30
+ export type ElTopDialog = HTMLElement & {
31
+ getAttribute: (qualifiedName: 'id') => string;
32
+ closest: (el: '.ui-dialog') => ElTopDialogWrapper;
33
+ dataset: {
34
+ viewPageActive: string;
35
+ };
36
+ };
37
+ export type ElTopDialogBody = HTMLElement;
38
+ export type ElTopDialogPage = HTMLElement & {
39
+ dataset: {
40
+ 'view-page': string;
41
+ order?: string;
42
+ };
43
+ };
44
+ export type ElTopDialogModalLayer = HTMLElement;
@@ -1,14 +1,14 @@
1
- import { MoveDirection } from './types';
2
- import { $el } from '../../types';
1
+ import { ElTopDialog, ElTopDialogPage, MoveDirection } from './types';
3
2
  export declare const TopDialogUtils: {
3
+ getElDialogById: (id: string) => ElTopDialog | null;
4
4
  updatePageVue: (dialogId: string, pageName?: string, pageNameNext?: string) => Promise<void>;
5
5
  recalcPositions: () => void;
6
6
  toViewDirty: (toViewPageName: string, moveDirection?: MoveDirection) => Promise<void>;
7
- toView: (viewNameOr$Dialog: $el | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: Function) => Promise<void>;
8
- toViewPage: ($dialog: $el, pageName?: string, args?: string[], moveDirection?: MoveDirection) => Promise<void>;
9
- toPrevPage: ($dialog: $el) => void;
10
- setLoading: ($page: $el, isLoading: boolean, duration?: number) => void;
11
- isLoading: ($page: $el) => boolean;
12
- inAnimation: ($dialog: $el) => boolean;
7
+ toView: (viewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: Function) => Promise<void>;
8
+ toViewPage: (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => Promise<void>;
9
+ toPrevPage: (elDialog: ElTopDialog) => void;
10
+ setLoading: (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => void;
11
+ isLoading: (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => boolean;
12
+ inAnimation: (elDialog: ElTopDialog | JQuery<ElTopDialog>) => boolean;
13
13
  close: (dialogId: string) => void;
14
14
  };
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Инициализация глобальных событий для диалоговых окон
3
3
  *
4
- * Проивзодится один раз при подклчюении диалогового окна
4
+ * Производится один раз при подключении диалогового окна
5
5
  *
6
- * События не размонитруются
6
+ * События не размонтируются
7
7
  */
8
8
  export declare const initDialogGlobalEvents: () => void;
@@ -1,11 +1,11 @@
1
- import { MoveDirection, TopDialogOptions } from './types';
1
+ import { ElTopDialog, ElTopDialogPage, MoveDirection, TopDialogOptions } from './types';
2
2
  import { $el } from '../../types';
3
3
  export declare abstract class TopDialogWorker {
4
4
  static state: {
5
5
  load: TopDialogOptions["load"] | undefined;
6
6
  decoratorOnCreate: TopDialogOptions["decoratorOnCreate"] | undefined;
7
7
  /**
8
- * Порядковай номер перехода в диалоговых окнах
8
+ * Порядковый номер перехода в диалоговых окнах
9
9
  *
10
10
  * Для расчета анимации Вперед / Назад
11
11
  */
@@ -20,25 +20,26 @@ export declare abstract class TopDialogWorker {
20
20
  static init(options?: TopDialogOptions): void;
21
21
  private static opendDialogsFromChangeUrl;
22
22
  static getDialogsUtils(): Promise<{
23
+ getElDialogById: (id: string) => ElTopDialog | null;
23
24
  updatePageVue: (dialogId: string, pageName?: string, pageNameNext?: string) => Promise<void>;
24
25
  recalcPositions: () => void;
25
26
  toViewDirty: (toViewPageName: string, moveDirection?: MoveDirection) => Promise<void>;
26
- toView: (viewNameOr$Dialog: $el | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: Function) => Promise<void>;
27
- toViewPage: ($dialog: $el, pageName?: string, args?: string[], moveDirection?: MoveDirection) => Promise<void>;
28
- toPrevPage: ($dialog: $el) => void;
29
- setLoading: ($page: $el, isLoading: boolean, duration?: number) => void;
30
- isLoading: ($page: $el) => boolean;
31
- inAnimation: ($dialog: $el) => boolean;
27
+ toView: (viewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string, pageName?: string, args?: string[], moveDirection?: MoveDirection, callback?: Function) => Promise<void>;
28
+ toViewPage: (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => Promise<void>;
29
+ toPrevPage: (elDialog: ElTopDialog) => void;
30
+ setLoading: (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => void;
31
+ isLoading: (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => boolean;
32
+ inAnimation: (elDialog: ElTopDialog | JQuery<ElTopDialog>) => boolean;
32
33
  close: (dialogId: string) => void;
33
34
  }>;
34
- static getDialog(el: HTMLElement): HTMLDialogElement | null;
35
- static getPage(el: HTMLElement): HTMLElement | null;
35
+ static getDialog(el: HTMLElement): ElTopDialog | null;
36
36
  /**
37
37
  * todo: Переписать на сайте на this.getDialog()
38
38
  *
39
39
  * @deprecated Для обратной совместимости
40
40
  */
41
41
  static get$dialog($el: $el): JQuery<HTMLElement>;
42
+ static getPage(el: HTMLElement): ElTopDialogPage | null;
42
43
  /**
43
44
  * todo: Переписать на сайте на this.getPage()
44
45
  *
@@ -51,7 +52,7 @@ export declare abstract class TopDialogWorker {
51
52
  * @deprecated Для обратной совместимости
52
53
  */
53
54
  static get$pairPage($el: $el): JQuery<HTMLElement>;
54
- static getPairPage(el: HTMLElement): NodeListOf<Element> | undefined;
55
+ static getPairPage(el: HTMLElement): HTMLElement[] | undefined;
55
56
  /**
56
57
  * Закрыть диалоговое окно
57
58
  */
@@ -1,11 +1,8 @@
1
- import { Props, Size, Color, Styling } from './types';
1
+ import { Props, Slots, Size, Color, Styling } from './types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  declare function __VLS_template(): {
4
4
  attrs: Partial<{}>;
5
- slots: {
6
- default?(_: {}): any;
7
- html?(_: {}): any;
8
- };
5
+ slots: Readonly<Slots> & Slots;
9
6
  refs: {};
10
7
  rootEl: any;
11
8
  };
@@ -29,6 +29,16 @@ export interface Props {
29
29
  isActive?: boolean;
30
30
  isProgress?: boolean;
31
31
  }
32
+ export interface Slots {
33
+ /**
34
+ * Текст в кнопке
35
+ */
36
+ default?(props: {}): any;
37
+ /**
38
+ * HTML в кнопке
39
+ */
40
+ html?(props: {}): any;
41
+ }
32
42
  /**
33
43
  * Определение событий
34
44
  */
@@ -6,6 +6,7 @@ import { default as CheckboxGroup } from './checkboxGroup/checkboxGroup.vue';
6
6
  import { default as Selector2 } from './selector2/selector2.vue';
7
7
  import { default as Menu } from './menu/menu.vue';
8
8
  import { default as Info } from './info/info.vue';
9
+ import { default as Policy } from './policy/policy.vue';
9
10
  export declare const TopEditArea: typeof EditArea & ComponentCustomProps;
10
11
  export declare const TopEditInput: typeof EditInput & ComponentCustomProps;
11
12
  export declare const TopRadioGroup: typeof RadioGroup & ComponentCustomProps;
@@ -13,3 +14,4 @@ export declare const TopCheckboxGroup: typeof CheckboxGroup & ComponentCustomPro
13
14
  export declare const TopSelector2: typeof Selector2 & ComponentCustomProps;
14
15
  export declare const TopMenu: typeof Menu & ComponentCustomProps;
15
16
  export declare const TopInfo: typeof Info & ComponentCustomProps;
17
+ export declare const TopPolicy: typeof Policy & ComponentCustomProps;
@@ -0,0 +1,4 @@
1
+ import { Props } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
4
+ export default _default;
@@ -0,0 +1,10 @@
1
+ export interface Props {
2
+ /**
3
+ * Заголовок окна
4
+ */
5
+ title: string;
6
+ /**
7
+ * Текст окна
8
+ */
9
+ text: string;
10
+ }
@@ -26,5 +26,5 @@ export declare const useAPI: (apiRequest: Props["apiRequest"], minLength: number
26
26
  }[]>;
27
27
  isLoading: Ref<boolean, boolean>;
28
28
  loadAppend: () => Promise<void>;
29
- setSearchTextAndLoad: (searchText: string, useDebounce?: boolean) => void;
29
+ setSearchTextAndLoad: (newSearchText: string, useDebounce?: boolean) => void;
30
30
  };
@@ -4,9 +4,13 @@ import { API } from './useAPI';
4
4
  /**
5
5
  * Функционал поиска
6
6
  */
7
- export declare const useMenu: (model: Ref<Props["modelValue"]>, items: Ref<Props["items"]>, multiselect: Props["multiselect"], appendAllValue: Ref<Props["appendAllValue"]>, appendSearchToResult: Ref<Props["appendSearchToResult"]>, api: API) => {
7
+ export declare const useMenu: (model: Ref<Props["modelValue"]>, items: Ref<Props["items"]>, multiselect: Props["multiselect"], appendAllValue: Ref<Props["appendAllValue"]>, appendSearchToResult: Ref<Props["appendSearchToResult"]>, searchType: Ref<Props["searchType"]>, minLength: number, api: API) => {
8
8
  searchText: Ref<string, string>;
9
9
  resetSearch: () => void;
10
+ genIsShort: () => boolean;
10
11
  items: ComputedRef<Item[]>;
11
12
  itemsForShow: ComputedRef<Item[]>;
13
+ selectItem: (item: Item) => void;
14
+ selectNextItem: () => void;
15
+ deleteItemById: (id: Item["id"]) => Promise<void>;
12
16
  };
@@ -97,7 +97,7 @@ declare function __VLS_template(): {
97
97
  footer?(_: {}): any;
98
98
  };
99
99
  }) | null;
100
- elRef: HTMLDivElement;
100
+ subcomponentSelector: unknown;
101
101
  };
102
102
  rootEl: any;
103
103
  };
@@ -109,9 +109,8 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
109
109
  }>, {
110
110
  size: Size;
111
111
  items: Item[];
112
+ searchType: "none" | "inline" | "popup";
112
113
  minLength: number;
113
- showSelectedInInput: boolean;
114
- showSearch: boolean;
115
114
  }, {}, {}, {}, string, ComponentProvideOptions, false, {
116
115
  popupRef: ({
117
116
  $: ComponentInternalInstance;
@@ -199,7 +198,7 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
199
198
  footer?(_: {}): any;
200
199
  };
201
200
  }) | null;
202
- elRef: HTMLDivElement;
201
+ subcomponentSelector: unknown;
203
202
  }, any>;
204
203
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
205
204
  export default _default;
@@ -1,4 +1,4 @@
1
- declare const dummyAPIRequest: {
1
+ export declare const dummyAPIRequest: {
2
2
  params: {
3
3
  offset: undefined;
4
4
  limit: undefined;
@@ -7,4 +7,3 @@ declare const dummyAPIRequest: {
7
7
  cache: Map<any, any>;
8
8
  call(): Promise<unknown>;
9
9
  };
10
- export default dummyAPIRequest;
@@ -1,4 +1,5 @@
1
1
  import { Size } from '../../forms/helpers';
2
+ import { Props as ButtonProps } from '../../forms/button/types';
2
3
  export interface Props {
3
4
  /**
4
5
  * Выбранный элемент
@@ -9,22 +10,35 @@ export interface Props {
9
10
  /**
10
11
  * Список вариантов для выбора
11
12
  *
12
- * Работая совместно с apiRequest, всегда выводится перед результатами apiRequest
13
+ * При работе с apiRequest, всегда выводится перед результатами apiRequest
13
14
  */
14
15
  items?: Item[];
16
+ title?: string;
17
+ disabled?: boolean;
18
+ size?: Size;
19
+ isError?: boolean;
15
20
  /**
16
- * Режим выбора нескольких вариантов
21
+ * Тип поиска по элементам
22
+ *
23
+ * - none: без поиска
24
+ * - inline: сам Selector является полем ввода, только для `multiselect = false`
25
+ * - popup: поиск будет в popup
26
+ *
27
+ * Для мобильной версии `inline` всегда заменяется на `popup`
17
28
  *
18
29
  * Константа, после установки менять нельзя
19
30
  */
20
- multiselect?: boolean;
21
- disabled?: boolean;
22
- size?: Size;
23
- isError?: boolean;
31
+ searchType?: 'none' | 'inline' | 'popup';
32
+ /**
33
+ * Текст для placeholder поля поиска
34
+ */
35
+ placeholder?: string;
24
36
  /**
25
37
  * Если указан, будет выполнена загрузка результатов через API
26
38
  *
27
39
  * Константа, после установки заменять нельзя
40
+ *
41
+ * @subcategory apiRequest
28
42
  */
29
43
  apiRequest?: {
30
44
  params: {
@@ -42,27 +56,35 @@ export interface Props {
42
56
  /**
43
57
  * Минимальная длина для выполнения поиска
44
58
  *
45
- * Для apiRequest
46
- *
47
59
  * Константа, после установки менять нельзя
60
+ *
61
+ * @subcategory apiRequest
48
62
  */
49
63
  minLength?: number;
50
64
  /**
51
- * Использовать кэширвоание
52
- *
53
- * Для apiRequest
65
+ * Использовать кэширование
54
66
  *
55
67
  * Константа, после установки менять нельзя
68
+ *
69
+ * @subcategory apiRequest
56
70
  */
57
71
  useCache?: boolean;
58
72
  /**
59
73
  * Добавить в результаты item = {id:null, name:search}, где search - введенная строка в поле поиска
60
74
  */
61
75
  appendSearchToResult?: boolean;
76
+ /**
77
+ * Режим выбора нескольких вариантов
78
+ *
79
+ * Константа, после установки менять нельзя
80
+ *
81
+ * @subcategory Multiselect
82
+ */
83
+ multiselect?: boolean;
62
84
  /**
63
85
  * Добавить вариант: "Все"
64
86
  *
65
- * Для multiselect = false
87
+ * @subcategory Single select
66
88
  */
67
89
  appendAllValue?: boolean;
68
90
  /**
@@ -70,23 +92,27 @@ export interface Props {
70
92
  *
71
93
  * Работает с props.items без учета apiRequest
72
94
  *
73
- * Для multiselect = false
95
+ * Нельзя использовать с кнопкой
96
+ *
97
+ * @subcategory Single select
74
98
  */
75
99
  addChanger?: boolean;
76
100
  /**
77
- * Текст для placeholder поля поиска
78
- */
79
- placeholder?: string;
80
- /**
81
- * Выводить в placeholder поля поиска выбранное значение modelValue.name
101
+ * Настройки кнопки
102
+ *
103
+ * Если не указан будет использоваться стандартный стиль селектора
82
104
  *
83
- * Для multiselect = false
105
+ * @subcategory Single select
84
106
  */
85
- showSelectedInInput?: boolean;
107
+ buttonProps?: ButtonProps;
86
108
  /**
87
- * Выводить поле поиска
109
+ * Выводить в placeholder поля поиска выбранное значение `modelValue.name`
110
+ *
111
+ * Всегда включено для `searchType` = `inline`
112
+ *
113
+ * @subcategory Single select
88
114
  */
89
- showSearch?: boolean;
115
+ selectedAsPlaceholder?: boolean;
90
116
  }
91
117
  export interface Slots {
92
118
  /**
@@ -32,6 +32,7 @@ export declare class TopLibPopup extends Component {
32
32
  elPopupBody: HTMLElement | undefined | null;
33
33
  elPopupFooter: HTMLElement | undefined | null;
34
34
  elFront: HTMLElement | undefined | null;
35
+ openerIsInput: boolean;
35
36
  popupParent: TopLibPopup | undefined;
36
37
  $: JQuery<HTMLElement> | undefined;
37
38
  elStartPosition: HTMLElement | undefined | null;
@@ -29,6 +29,8 @@ declare class Worker {
29
29
  * Вернуть объект компонента popup, привязанный к элементу
30
30
  */
31
31
  static getPopup(elPopup: HTMLElement): TopLibPopup;
32
+ static getElPopupOpener(el: Element): HTMLElement | null;
33
+ static getPopupFromOpener(el: HTMLElement): TopLibPopup | null;
32
34
  /**
33
35
  * Вернуть все элементы с Popup
34
36
  */
@@ -48,7 +50,7 @@ declare class Worker {
48
50
  * @param options - опции Popup
49
51
  */
50
52
  private static open;
51
- static close(elPopup: HTMLElement): void;
53
+ static close(elPopup: HTMLElement, restoreFocus?: boolean): void;
52
54
  static recalcPosition(elPopup: HTMLElement): void;
53
55
  /**
54
56
  * Скролл к активному элементу списка
@@ -68,7 +70,7 @@ declare class Worker {
68
70
  */
69
71
  static unregVueComponent(id: string): void;
70
72
  /**
71
- * Сгенерировтаь элемент для открытия popup
73
+ * Сгенерировать элемент для открытия popup
72
74
  */
73
75
  static genElPopupOpener(tagName: string, props: OpenerProps, ...elsChildrens: HTMLElement[] | string[]): HTMLElement;
74
76
  }
package/core/app.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DO87ZZk9.amd","../.chunks/core-D2o3elGA.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-DAIrXU57.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd"],function(y,n,c,l,d,m,S,p,g,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#c;#a=[];#o=[];#n=[];#r=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#c=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#n=s.options.tpaNamesStorageLocal||[],this.#r=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#l()),this.#S(),this.#k();const e=c.debounce(()=>{this.#m(),this.#p(),this.#p(!0)});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#g();e=Object.assign(e,Object.fromEntries(t));const i=await this.#c.gen(s,"fetchColumn").call({},e);i!=null&&i.errors||await m.guestLinkToClipboard(i.result)}#g(){const s=new Map;return this.#r.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#h(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#f(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#l(){let s;try{s=JSON.parse(p.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#h(e)}#m(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);p.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=localStorage.getItem(i+":"+o);e.set(o,r)});const a=this.#d(e);this.#h(a)}#p(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=this.#t[o];e.set(o,r)});const a=this.#f(e);t.forEach(o=>{const r=a.get(o);localStorage.setItem(i+":"+o,r)})}#S(){var a,o,r;const s=(o=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:o.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#r.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#h(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=f=>{var e,t,i,a;const s=f;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};n.Core=c.Core,n.i18nPlugin=c.i18n,n.useI18n=c.useI18n,n.useI18nLang=c.useI18nLang,n.corePlugin=l.core,n.useAsyncTopDialog=g.useAsyncTopDialog,n.useTopDialog=g.useTopDialog,n.TopDialogWorker=k.TopDialogWorker,n.piniaTPAPlugin=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-BduN5hFf.amd","../.chunks/core-CNHOrWnw.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-BgjhCn4H.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd"],function(y,n,c,l,d,m,S,p,g,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#c;#a=[];#o=[];#n=[];#r=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#c=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#n=s.options.tpaNamesStorageLocal||[],this.#r=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#l()),this.#S(),this.#k();const e=c.debounce(()=>{this.#m(),this.#p(),this.#p(!0)});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#g();e=Object.assign(e,Object.fromEntries(t));const i=await this.#c.gen(s,"fetchColumn").call({},e);i!=null&&i.errors||await m.guestLinkToClipboard(i.result)}#g(){const s=new Map;return this.#r.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#h(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#f(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#l(){let s;try{s=JSON.parse(p.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#h(e)}#m(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);p.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=localStorage.getItem(i+":"+o);e.set(o,r)});const a=this.#d(e);this.#h(a)}#p(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=this.#t[o];e.set(o,r)});const a=this.#f(e);t.forEach(o=>{const r=a.get(o);localStorage.setItem(i+":"+o,r)})}#S(){var a,o,r;const s=(o=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:o.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#r.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#h(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=f=>{var e,t,i,a;const s=f;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};n.Core=c.Core,n.i18nPlugin=c.i18n,n.useI18n=c.useI18n,n.useI18nLang=c.useI18nLang,n.corePlugin=l.core,n.useAsyncTopDialog=g.useAsyncTopDialog,n.useTopDialog=g.useTopDialog,n.TopDialogWorker=k.TopDialogWorker,n.piniaTPAPlugin=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=app.amd.js.map
package/core/app.js CHANGED
@@ -1,12 +1,12 @@
1
- import { d } from "../.chunks/forms-C-fyoosd.es.js";
2
- import { C as P, i as T, u as b, a as y } from "../.chunks/forms-C-fyoosd.es.js";
3
- import { c as G } from "../.chunks/core-CwjGTMhd.es.js";
1
+ import { d } from "../.chunks/forms-1PEYT7sp.es.js";
2
+ import { C as P, i as T, u as b, a as y } from "../.chunks/forms-1PEYT7sp.es.js";
3
+ import { c as G } from "../.chunks/core-CZLRhkk2.es.js";
4
4
  import { watch as p } from "vue";
5
5
  import { guestLinkToClipboard as f } from "../utils/clipboard.js";
6
6
  import { camelToSnakeCase as g } from "../utils/string.js";
7
7
  import { getHash as m, setHash as l } from "../utils/route.js";
8
- import { u as A, a as D } from "../.chunks/utils-DsICGMuv.es.js";
9
- import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js";
8
+ import { u as A, a as D } from "../.chunks/utils-DEyMm4Iq.es.js";
9
+ import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-sExyADFk.es.js";
10
10
  class u {
11
11
  #s;
12
12
  #t;
@@ -11,7 +11,7 @@ export default class Core {
11
11
  documentClassModificators: Map<string | number, string> & Omit<Map<string | number, string>, keyof Map<any, any>>;
12
12
  dateFormat: string;
13
13
  currency: "USD" | "RUB" | "EUR";
14
- gmt: string;
14
+ timezoneOffset: number;
15
15
  isMobile: boolean;
16
16
  isMobileUA: boolean;
17
17
  isRetina: boolean;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Конфигурация UI
3
3
  *
4
- * Начальные значений устанавилаются при подклчюении Core во Vue приложение через app.use(PluginCore, options)
4
+ * Начальные значений устанавливаются при подключении Core во Vue приложение через app.use(PluginCore, options)
5
5
  */
6
6
  declare const _default: {
7
7
  /**
@@ -17,7 +17,7 @@ declare const _default: {
17
17
  /**
18
18
  * CSS-классы модификаторы для документа страницы
19
19
  *
20
- * Могут испоьзвоаться компонентами для включения необхоимых режимов отображения страницы
20
+ * Могут использоваться компонентами для включения необходимых режимов отображения страницы
21
21
  *
22
22
  * Разные компоненты могут добавлять один и тот же класс, чтобы не было конфликтов каждый компонент управляет только своим классом:
23
23
  * - Ключ - уникальное имя компонента, например в setup: `const uid = Math.random();`
@@ -31,16 +31,17 @@ declare const _default: {
31
31
  */
32
32
  widthForMobile: number;
33
33
  /**
34
- * Формат даты, который будет испоьзоваться по умолчанию для вывода даты, как правило, завсит от текущего пользователя
34
+ * Формат даты, который будет использоваться по умолчанию для вывода даты, как правило, зависит от текущего пользователя
35
35
  */
36
36
  dateFormat: string;
37
37
  /**
38
- * Валюта, которая будет испоьзоваться по умолчанию, как правило, завсит от текущего пользователя
38
+ * Валюта, которая будет использоваться по умолчанию, как правило, зависит от текущего пользователя
39
39
  */
40
40
  currency: "RUB" | "USD" | "EUR";
41
41
  /**
42
- * Для Москвы: +0300
42
+ * Смещение timezone относительно UTC в минутах
43
+ * Для Москвы: -180
43
44
  */
44
- gmt: string;
45
+ timezoneOffset: number;
45
46
  };
46
47
  export default _default;
@@ -8,7 +8,7 @@ declare const state: {
8
8
  documentClassModificators: Map<string | number, string>;
9
9
  dateFormat: string;
10
10
  currency: "USD" | "RUB" | "EUR";
11
- gmt: string;
11
+ timezoneOffset: number;
12
12
  /**
13
13
  * Device by size
14
14
  *
@@ -42,7 +42,7 @@ declare module '@vue/runtime-core' {
42
42
  TopDialogs: typeof TopDialogs;
43
43
  }
44
44
  }
45
- type CoreOptions = PartialBy<typeof coreDefaultOptions, 'gmt' | 'documentClassModificators'>;
45
+ type CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators'>;
46
46
  type Options = CoreOptions & {
47
47
  topPopupOptions?: TopPopupOptions;
48
48
  topDialogOptions?: TopDialogOptions;