@topvisor/ui 1.0.1-colors-5 → 1.0.1-colors-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/datepicker-4RuNRybD.es.js +290 -0
- package/.chunks/datepicker-4RuNRybD.es.js.map +1 -0
- package/.chunks/datepicker-C3wu_PG5.amd.js +248 -0
- package/.chunks/datepicker-C3wu_PG5.amd.js.map +1 -0
- package/.chunks/{forms-CQJeARc0.amd.js → forms-Ba0z_w3d.amd.js} +3 -3
- package/.chunks/forms-Ba0z_w3d.amd.js.map +1 -0
- package/.chunks/{forms-UyeTiEcX.es.js → forms-DFdkeBCT.es.js} +5 -5
- package/.chunks/forms-DFdkeBCT.es.js.map +1 -0
- package/.chunks/i18n-C_OH9IT3.amd.js.map +1 -1
- package/.chunks/i18n-DuTvft1T.es.js.map +1 -1
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-CHhCooGV.amd.js → listItem.vue_vue_type_script_setup_true_lang-C1sXQtkO.amd.js} +2 -2
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-C1sXQtkO.amd.js.map +1 -0
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BJPv6Rkm.es.js → listItem.vue_vue_type_script_setup_true_lang-COocGSB0.es.js} +2 -2
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-COocGSB0.es.js.map +1 -0
- package/.chunks/{menu-C7wWX96K.amd.js → menu-B9yZumi2.amd.js} +2 -2
- package/.chunks/menu-B9yZumi2.amd.js.map +1 -0
- package/.chunks/{menu-BR766pdp.es.js → menu-nSnO6cQU.es.js} +2 -2
- package/.chunks/menu-nSnO6cQU.es.js.map +1 -0
- package/.chunks/{popup-CRwjKDwT.es.js → popup-B5ioftXA.es.js} +490 -490
- package/.chunks/popup-B5ioftXA.es.js.map +1 -0
- package/.chunks/{popup-Bcbpecn1.amd.js → popup-MFiUttQQ.amd.js} +447 -447
- package/.chunks/popup-MFiUttQQ.amd.js.map +1 -0
- package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
- package/.chunks/store-esTid5oI.amd.js.map +1 -1
- package/README.md +86 -86
- package/assets/core.css +1 -1
- package/assets/forms.css +1 -1
- package/assets/formsExt.css +1 -1
- package/assets/menu.css +1 -1
- package/assets/tabs.css +1 -1
- package/assets/tabsView.css +1 -1
- package/assets/themes/dark.css +1 -1
- package/assets/themes/light.css +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.amd.js.map +1 -1
- package/core/app.js +1 -1
- package/core/app.js.map +1 -1
- package/core/core.amd.js +1 -1
- package/core/core.js +1 -1
- package/forms/forms.amd.js +1 -1
- package/forms/forms.js +1 -1
- package/forms/helpers.amd.js.map +1 -1
- package/forms/helpers.js.map +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +2 -2
- package/formsExt/formsExt.js.map +1 -1
- package/icomoon/Read Me.txt +7 -7
- package/icomoon/demo-files/demo.css +161 -161
- package/icomoon/demo-files/demo.js +30 -30
- package/icomoon/demo.html +3379 -3379
- package/icomoon/fonts/Topvisor-2.svg +263 -263
- package/icomoon/style.css +740 -740
- package/package.json +37 -37
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +2 -2
- package/popup/popup.js.map +1 -1
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.js +2 -2
- package/popup/worker.js.map +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +3 -3
- package/project/project.js.map +1 -1
- package/require/css.amd.js +12 -12
- package/tabs/tabs.amd.js +1 -1
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.js +1 -1
- package/tabs/tabs.js.map +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +1 -1
- package/tabsView/tabsView.js.map +1 -1
- package/utils/check.amd.js.map +1 -1
- package/utils/check.js.map +1 -1
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.js.map +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.js +1 -1
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.js.map +1 -1
- package/utils/image.amd.js.map +1 -1
- package/utils/image.js.map +1 -1
- package/utils/keyboard.amd.js.map +1 -1
- package/utils/keyboard.js.map +1 -1
- package/utils/number.amd.js.map +1 -1
- package/utils/number.js.map +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.amd.js.map +1 -1
- package/utils/price.js +1 -1
- package/utils/price.js.map +1 -1
- package/utils/route.amd.js.map +1 -1
- package/utils/route.js.map +1 -1
- package/utils/scroll.amd.js.map +1 -1
- package/utils/scroll.js.map +1 -1
- package/utils/string.amd.js.map +1 -1
- package/utils/string.js.map +1 -1
- package/utils/system.amd.js.map +1 -1
- package/utils/system.js.map +1 -1
- package/utils/url.amd.js.map +1 -1
- package/utils/url.js.map +1 -1
- package/web-types.json +72 -72
- package/.chunks/datepicker-DUKbIc5P.es.js +0 -290
- package/.chunks/datepicker-DUKbIc5P.es.js.map +0 -1
- package/.chunks/datepicker-Dr2CKlYv.amd.js +0 -248
- package/.chunks/datepicker-Dr2CKlYv.amd.js.map +0 -1
- package/.chunks/forms-CQJeARc0.amd.js.map +0 -1
- package/.chunks/forms-UyeTiEcX.es.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BJPv6Rkm.es.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CHhCooGV.amd.js.map +0 -1
- package/.chunks/menu-BR766pdp.es.js.map +0 -1
- package/.chunks/menu-C7wWX96K.amd.js.map +0 -1
- package/.chunks/popup-Bcbpecn1.amd.js.map +0 -1
- package/.chunks/popup-CRwjKDwT.es.js.map +0 -1
package/assets/tabs.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.top-tabs{background:var(--color-layout-front);border-radius:8px;border:1px solid var(--color-line-2-opacity);padding:0;display:flex;flex-wrap:wrap;align-items:stretch}.top-tabs_header{padding:6px;margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.top-tabs_contents{border-top:1px solid var(--color-line-2-opacity);width:100%;margin-top:-1px}.top-tabs_tabInput:checked:nth-child(1)~.top-tabs_contents>.top-tabs_content:nth-child(1),.top-tabs_tabInput:checked:nth-child(3)~.top-tabs_contents>.top-tabs_content:nth-child(2),.top-tabs_tabInput:checked:nth-child(5)~.top-tabs_contents>.top-tabs_content:nth-child(3),.top-tabs_tabInput:checked:nth-child(7)~.top-tabs_contents>.top-tabs_content:nth-child(4),.top-tabs_tabInput:checked:nth-child(9)~.top-tabs_contents>.top-tabs_content:nth-child(5),.top-tabs_tabInput:checked:nth-child(11)~.top-tabs_contents>.top-tabs_content:nth-child(6){display:block}.top-tabs_tabLabel{color:var(--color-text-1);cursor:pointer;border-bottom:2px solid transparent;padding:14px 20px;position:relative;display:flex;align-items:center}.top-tabs_tabLabel:hover{border-color:var(--color-line-2)}.top-tabs_tabInput:checked+.top-tabs_tabLabel{border-color:var(--color-line-primary-1);color:var(--color-text-primary)}.top-tabs_content{padding:14px;overflow:auto;display:none}
|
|
1
|
+
.top-tabs{background:var(--color-layout-front-1);border-radius:8px;border:1px solid var(--color-line-2-opacity);padding:0;display:flex;flex-wrap:wrap;align-items:stretch}.top-tabs_header{padding:6px;margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.top-tabs_contents{border-top:1px solid var(--color-line-2-opacity);width:100%;margin-top:-1px}.top-tabs_tabInput:checked:nth-child(1)~.top-tabs_contents>.top-tabs_content:nth-child(1),.top-tabs_tabInput:checked:nth-child(3)~.top-tabs_contents>.top-tabs_content:nth-child(2),.top-tabs_tabInput:checked:nth-child(5)~.top-tabs_contents>.top-tabs_content:nth-child(3),.top-tabs_tabInput:checked:nth-child(7)~.top-tabs_contents>.top-tabs_content:nth-child(4),.top-tabs_tabInput:checked:nth-child(9)~.top-tabs_contents>.top-tabs_content:nth-child(5),.top-tabs_tabInput:checked:nth-child(11)~.top-tabs_contents>.top-tabs_content:nth-child(6){display:block}.top-tabs_tabLabel{color:var(--color-text-1);cursor:pointer;border-bottom:2px solid transparent;padding:14px 20px;position:relative;display:flex;align-items:center}.top-tabs_tabLabel:hover{border-color:var(--color-line-2)}.top-tabs_tabInput:checked+.top-tabs_tabLabel{border-color:var(--color-line-primary-1);color:var(--color-text-primary)}.top-tabs_content{padding:14px;overflow:auto;display:none}
|
package/assets/tabsView.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.top-tabsView_menuItem{--top-icon-color: var(--color-text-2);--top-icon-width: calc(var(--top-icon-size));cursor:pointer;box-sizing:border-box;border:none;border-radius:var(--top-radius-2);padding:var(--top-padding-2);background:transparent;height:40px;color:var(--color-text-1);text-decoration:none;white-space:nowrap;display:flex;gap:var(--top-gap-2);align-items:center;justify-content:flex-start;transition:background var(--transition)}.top-tabsView_menuItem:hover{--top-icon-color: var(--color-text-1);background:var(--color-bg-shading-3);text-decoration:none}.top-tabsView_menuItem.top-active{cursor:unset;background:var(--color-layout-front)}.top-tabsView_menuItem:disabled:not(option):not(optgroup):not(.top-forms-option),.top-tabsView_menuItem:disabled~.top-formsCaption,.top-tabsView_menuItem.top-disabled[data-top-icon]:before,.top-tabsView_menuItem.top-disabled[data-top-icon2]:after{opacity:unset;filter:unset}.top-tabsView_menuItem.top-disabled{--top-icon-color: var(--color-text-4);color:var(--color-text-4)}.top-tabsView-pageMod .top-tabsView_menu{box-sizing:border-box;position:sticky;top:var(--top-tabsView-top);z-index:10}.top-tabsView-pageMod .top-tabsView_menu-inPopup_0{height:calc(var(--100vh) - var(--top-tabsView-top))}.top-tabsView_menu-inPopup_0{box-sizing:border-box;width:var(--top-tabsView-menu-width);display:flex;flex-direction:column;justify-content:space-between}.top-tabsView_menu-inPopup_1{border-bottom:1px solid var(--color-line-2-opacity)}.top-tabsView_menu-short{width:auto}.top-tabsView_menu>.top-tabsView_menuOpener{display:flex;justify-content:flex-end}.top-tabsView_menu>.top-tabsView_menuOpener:hover{background:var(--color-layer-1)}.top-tabsView_menuOpenerIcon{display:flex}.top-tabsView_menuOpenerActiveItem{--top-forms-padding: 0px;box-sizing:border-box;padding:var(--top-padding-2);max-width:calc(100% - var(--top-forms-base-height));white-space:nowrap;flex-grow:1;display:flex;align-items:center;gap:var(--top-padding-2)}.top-tabsView_menuList,.top-tabsView_menuFooter{padding:var(--top-padding-2);display:flex;flex-direction:column;gap:var(--top-gap-2)}.top-tabsView_menuList{overflow-y:auto}.top-tabsView_menu-short .top-tabsView_menuFooter>.top-tabsView_menuItem{--top-icon-width: 100%}:root{--top-tabsView-top: 0px;--top-tabsView-menu-width: 220px;--top-tabsView-contents-offset-top: 0px}.top-tabsView{background:var(--color-layout-middle);width:100%;height:100%;display:flex;flex-direction:row}.top-tabsView_contents{border-radius:var(--top-radius-4);background:var(--color-layout-front);padding:var(--top-padding-4);flex-grow:1;overflow:auto;position:relative}.top-tabsView_contents-isLoading{pointer-events:none}.top-tabsView_contents-noScrollable{width:calc(100% - var(--top-tabsView-menu-width));padding:0;overflow:visible}.top-tabsView-inPopup{background:var(--color-layout-front);flex-direction:column}.top-tabsView-inPopup>.top-tabsView_contents{border-radius:0}.top-tabsView-inPopup>.top-tabsView_contents-noScrollable{width:auto}.top-tabsView_menuDelimeter{padding:var(--top-padding-1) 0;display:flex}.top-tabsView_menuDelimeter:before{content:"";height:2px;background:var(--color-line-2);flex-grow:1}.top-tabsView_menuDelimeter:first-child,.top-tabsView_menuDelimeter+.top-tabsView_menuDelimeter{display:none}.top-tabsView_menuTitle{padding:var(--top-padding-4) var(--top-padding-2) var(--top-padding-1);font-weight:600;color:var(--color-text-1)}.top-tabsView_menuTitle-subtitle{padding-top:var(--top-padding-1);font-size:12px;font-weight:400;color:var(--color-text-2)}
|
|
1
|
+
.top-tabsView_menuItem{--top-icon-color: var(--color-text-2);--top-icon-width: calc(var(--top-icon-size));cursor:pointer;box-sizing:border-box;border:none;border-radius:var(--top-radius-2);padding:var(--top-padding-2);background:transparent;height:40px;color:var(--color-text-1);text-decoration:none;white-space:nowrap;display:flex;gap:var(--top-gap-2);align-items:center;justify-content:flex-start;transition:background var(--transition)}.top-tabsView_menuItem:hover{--top-icon-color: var(--color-text-1);background:var(--color-bg-shading-3);text-decoration:none}.top-tabsView_menuItem.top-active{cursor:unset;background:var(--color-layout-front-1)}.top-tabsView_menuItem:disabled:not(option):not(optgroup):not(.top-forms-option),.top-tabsView_menuItem:disabled~.top-formsCaption,.top-tabsView_menuItem.top-disabled[data-top-icon]:before,.top-tabsView_menuItem.top-disabled[data-top-icon2]:after{opacity:unset;filter:unset}.top-tabsView_menuItem.top-disabled{--top-icon-color: var(--color-text-4);color:var(--color-text-4)}.top-tabsView-pageMod .top-tabsView_menu{box-sizing:border-box;position:sticky;top:var(--top-tabsView-top);z-index:10}.top-tabsView-pageMod .top-tabsView_menu-inPopup_0{height:calc(var(--100vh) - var(--top-tabsView-top))}.top-tabsView_menu-inPopup_0{box-sizing:border-box;width:var(--top-tabsView-menu-width);display:flex;flex-direction:column;justify-content:space-between}.top-tabsView_menu-inPopup_1{border-bottom:1px solid var(--color-line-2-opacity)}.top-tabsView_menu-short{width:auto}.top-tabsView_menu>.top-tabsView_menuOpener{display:flex;justify-content:flex-end}.top-tabsView_menu>.top-tabsView_menuOpener:hover{background:var(--color-layer-1)}.top-tabsView_menuOpenerIcon{display:flex}.top-tabsView_menuOpenerActiveItem{--top-forms-padding: 0px;box-sizing:border-box;padding:var(--top-padding-2);max-width:calc(100% - var(--top-forms-base-height));white-space:nowrap;flex-grow:1;display:flex;align-items:center;gap:var(--top-padding-2)}.top-tabsView_menuList,.top-tabsView_menuFooter{padding:var(--top-padding-2);display:flex;flex-direction:column;gap:var(--top-gap-2)}.top-tabsView_menuList{overflow-y:auto}.top-tabsView_menu-short .top-tabsView_menuFooter>.top-tabsView_menuItem{--top-icon-width: 100%}:root{--top-tabsView-top: 0px;--top-tabsView-menu-width: 220px;--top-tabsView-contents-offset-top: 0px}.top-tabsView{background:var(--color-layout-middle);width:100%;height:100%;display:flex;flex-direction:row}.top-tabsView_contents{border-radius:var(--top-radius-4);background:var(--color-layout-front-1);padding:var(--top-padding-4);flex-grow:1;overflow:auto;position:relative}.top-tabsView_contents-isLoading{pointer-events:none}.top-tabsView_contents-noScrollable{width:calc(100% - var(--top-tabsView-menu-width));padding:0;overflow:visible}.top-tabsView-inPopup{background:var(--color-layout-front-1);flex-direction:column}.top-tabsView-inPopup>.top-tabsView_contents{border-radius:0}.top-tabsView-inPopup>.top-tabsView_contents-noScrollable{width:auto}.top-tabsView_menuDelimeter{padding:var(--top-padding-1) 0;display:flex}.top-tabsView_menuDelimeter:before{content:"";height:2px;background:var(--color-line-2);flex-grow:1}.top-tabsView_menuDelimeter:first-child,.top-tabsView_menuDelimeter+.top-tabsView_menuDelimeter{display:none}.top-tabsView_menuTitle{padding:var(--top-padding-4) var(--top-padding-2) var(--top-padding-1);font-weight:600;color:var(--color-text-1)}.top-tabsView_menuTitle-subtitle{padding-top:var(--top-padding-1);font-size:12px;font-weight:400;color:var(--color-text-2)}
|
package/assets/themes/dark.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--color-theme-0: #000000;--color-theme-25: #05080A;--color-theme-50: #050815;--color-theme-75: #090A18;--color-theme-100: #0E121B;--color-theme-125: #111722;--color-theme-150: #141C29;--color-theme-175: #172130;--color-theme-200: #1B2637;--color-theme-225: #1E2B3E;--color-theme-250: #223044;--color-theme-260: #25344C;--color-theme-275: #293852;--color-theme-300: #2C3E58;--color-theme-325: #2F4360;--color-theme-350: #324867;--color-theme-360: #364D6D;--color-theme-375: #395175;--color-theme-400: #3D557B;--color-theme-410: #405A82;--color-theme-420: #435F89;--color-theme-430: #47648F;--color-theme-440: #4A6996;--color-theme-450: #4D6E9D;--color-theme-460: #5173A4;--color-theme-465: #5476AB;--color-theme-470: #5B7DAE;--color-theme-475: #6281B2;--color-theme-480: #6987B5;--color-theme-485: #708DB8;--color-theme-500: #7692BC;--color-theme-550: #7D97BF;--color-theme-575: #849DC2;--color-theme-600: #8AA2C6;--color-theme-625: #92A7C9;--color-theme-650: #98AECD;--color-theme-675: #9FB3D0;--color-theme-700: #A7B9D3;--color-theme-710: #ADBED6;--color-theme-725: #B3C3DA;--color-theme-750: #BBC9DD;--color-theme-800: #C1CEE1;--color-theme-850: #C8D3E4;--color-theme-900: #CFD9E8;--color-theme-925: #D6DEEB;--color-theme-950: #DDE3EE;--color-theme-955: #E4EAF1;--color-theme-960: #EAEFF5;--color-theme-965: #F1F4F8;--color-theme-970: #F9FAFB;--color-theme-975: #F8FAFC;--color-theme-1000: #FFFFFF;--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-primary-25: #1F252E;--color-primary-50: #1C2736;--color-primary-100: #18293E;--color-primary-125: #142B48;--color-primary-150: #16355A;--color-primary-200: #183E6D;--color-primary-225: #184781;--color-primary-250: #185095;--color-primary-275: #175AAB;--color-primary-300: #1563C1;--color-primary-350: #136BD8;--color-primary-400: #0F74F0;--color-primary-450: #1E7FF6;--color-primary-500: #2D8AFB;--color-primary-550: #3D94FF;--color-primary-600: #52A0FF;--color-primary-650: #66ABFF;--color-primary-700: #7AB6FF;--color-primary-720: #8FC1FF;--color-primary-740: #A3CDFF;--color-primary-760: #B8D8FF;--color-primary-780: #C2DDFF;--color-primary-800: #CCE3FF;--color-primary-825: #D6E9FF;--color-primary-850: #E0EEFF;--color-primary-900: #EBF4FF;--color-primary-950: #F5F9FF;--color-positive-25: #232424;--color-positive-50: #282A29;--color-positive-100: #252F27;--color-positive-125: #223A30;--color-positive-150: #2C5940;--color-positive-200: #2F6A46;--color-positive-225: #327B49;--color-positive-250: #348D4A;--color-positive-275: #36A150;--color-positive-300: #36B356;--color-positive-350: #36C95B;--color-positive-400: #41C865;--color-positive-450: #4DD96E;--color-positive-500: #5CE084;--color-positive-550: #5AE27C;--color-positive-600: #6CE58A;--color-positive-650: #8BE69B;--color-positive-700: #A8EFB2;--color-positive-720: #B1F1C1;--color-positive-740: #BAF3C8;--color-positive-760: #C2F4CF;--color-positive-780: #CBF6D6;--color-positive-825: #D4F7DD;--color-positive-850: #DCF9E3;--color-positive-900: #E6FAEA;--color-positive-950: #EEF8F1;--color-warning-25: #3C1F1F;--color-warning-50: #39221B;--color-warning-100: #421B1A;--color-warning-125: #4C2015;--color-warning-150: #5E2517;--color-warning-200: #71321E;--color-warning-225: #7F3D19;--color-warning-250: #9A511A;--color-warning-275: #AF6420;--color-warning-300: #C56D1C;--color-warning-350: #DD780C;--color-warning-400: #F08214;--color-warning-450: #F48B1B;--color-warning-500: #FB9632;--color-warning-550: #FFA042;--color-warning-600: #FFAB57;--color-warning-650: #FFB56B;--color-warning-700: #FFBF80;--color-warning-720: #FFCB94;--color-warning-740: #FFD7A8;--color-warning-760: #FFDEBF;--color-warning-780: #FFE3C7;--color-warning-800: #FFE8CF;--color-warning-825: #FFEDDB;--color-warning-850: #FFF3E6;--color-warning-900: #FFF7F0;--color-warning-950: #FFFDFA;--color-negative-25: #2E2229;--color-negative-50: #371F2B;--color-negative-100: #402030;--color-negative-125: #4A1733;--color-negative-150: #5B193A;--color-negative-200: #6E1C2F;--color-negative-225: #8A1C34;--color-negative-250: #9B1D32;--color-negative-275: #AB1A2F;--color-negative-300: #C31A30;--color-negative-350: #D81534;--color-negative-400: #EB1938;--color-negative-450: #F12745;--color-negative-500: #F73652;--color-negative-550: #FF4262;--color-negative-600: #FF576F;--color-negative-650: #FF6B7B;--color-negative-700: #FF8092;--color-negative-720: #FF949F;--color-negative-740: #FFA8B5;--color-negative-760: #FFBFC6;--color-negative-780: #FFC7CF;--color-negative-800: #FFD1D8;--color-negative-825: #FFDDE1;--color-negative-850: #FFE5E9;--color-negative-900: #FFF0F2;--color-negative-950: #FFFAFB;--color-info-25: #101027;--color-info-50: #14132A;--color-info-100: #191335;--color-info-125: #1E1245;--color-info-150: #2A1255;--color-info-200: #36116A;--color-info-225: #40127C;--color-info-250: #4B128B;--color-info-275: #5415AA;--color-info-300: #5E15BD;--color-info-350: #6615D3;--color-info-400: #6F0FEB;--color-info-450: #7913F5;--color-info-500: #8414F3;--color-info-550: #8F38FF;--color-info-600: #9952FF;--color-info-650: #A561FF;--color-info-700: #B078FF;--color-info-720: #BC8AFF;--color-info-740: #C89EFF;--color-info-760: #D4B2FF;--color-info-780: #D9BDFF;--color-info-800: #DFC7FF;--color-info-825: #E5D1FF;--color-info-850: #EBDBFF;--color-info-900: #F1E5FF;--color-info-950: #F6F0FF;--color-layer-1: rgba(129, 148, 177, .08);--color-layer-2: rgba(129, 148, 177, .14);--color-layer-3: rgba(129, 148, 177, .18);--color-layer-4: rgba(129, 148, 177, .24);--color-layer-primary-1: rgba(45, 110, 251, .14);--color-layer-primary-2: rgba(45, 110, 251, .2);--color-layer-primary-3: rgba(45, 110, 251, .3);--color-layer-primary-4: rgba(45, 110, 251, .4);--color-layer-positive-1: rgba(54, 181, 86, .14);--color-layer-positive-2: rgba(54, 181, 86, .2);--color-layer-positive-3: rgba(54, 181, 86, .3);--color-layer-positive-4: rgba(54, 181, 86, .4);--color-layer-warning-1: rgba(255, 160, 66, .14);--color-layer-warning-2: rgba(255, 160, 66, .2);--color-layer-warning-3: rgba(255, 160, 66, .3);--color-layer-warning-4: rgba(255, 160, 66, .4);--color-layer-negative-1: rgba(247, 54, 82, .14);--color-layer-negative-2: rgba(247, 54, 82, .2);--color-layer-negative-3: rgba(247, 54, 82, .3);--color-layer-negative-4: rgba(247, 54, 82, .4);--color-layer-info-1: rgba(165, 97, 255, .14);--color-layer-info-2: rgba(165, 97, 255, .2);--color-layer-info-3: rgba(165, 97, 255, .3);--color-layer-info-4: rgba(165, 97, 255, .4);--color-fg-1: #2e3032;--color-fg-2: #35373a;--color-fg-3: #404246;--color-fg-4: #4a4d51;--color-fg-5: #55585d;--color-fg-primary-1: #232f41;--color-fg-primary-2: #243149;--color-fg-primary-3: #243450;--color-fg-primary-4: #253758;--color-fg-primary-5: #253960;--color-fg-positive-1: #25333b;--color-fg-positive-2: #263a3d;--color-fg-positive-3: #284140;--color-fg-positive-4: #2a4842;--color-fg-positive-5: #2b4f44;--color-fg-warning-1: #2b3038;--color-fg-warning-2: #343437;--color-fg-warning-3: #3c3836;--color-fg-warning-4: #453b35;--color-fg-warning-5: #4d3f35;--color-fg-negative-1: #2b2c3a;--color-fg-negative-2: #342d3b;--color-fg-negative-3: #3c2d3c;--color-fg-negative-4: #452e3d;--color-fg-negative-5: #4d2e3e;--color-fg-info-1: #272c41;--color-fg-info-2: #2b2c49;--color-fg-info-3: #2f2c50;--color-fg-info-4: #332b58;--color-fg-info-5: #362b60;--color-fill-secondary-0: #FFFFFF;--color-fill-secondary-100: #F3F6FA;--color-fill-secondary-150: #E5EBF3;--color-fill-secondary-200: #DBE3EC;--color-fill-secondary-250: #CCD3DE;--color-fill-secondary-300: #BFC6D2;--color-fill-secondary-350: #ACB5C1;--color-fill-secondary-400: #A0AAB6;--color-fill-secondary-450: #838D9C;--color-fill-secondary-500: #68707C;--color-fill-secondary-550: #606771;--color-fill-secondary-600: #595F68;--color-fill-secondary-650: #4E5259;--color-fill-secondary-700: #484B50;--color-fill-secondary-750: #383A3E;--color-fill-secondary-800: #303234;--color-fill-secondary-850: #2D2F30;--color-fill-secondary-900: #28292A;--color-fill-secondary-950: #212122;--color-fill-secondary-960: #1C1C1D;--color-fill-secondary-970: #161617;--color-fill-secondary-1000: #000000;--top-shadow-xs: 0px 0px 3px rgba(0, 0, 0, .11), 0px 5px 25px rgba(0, 0, 0, .08);--top-shadow-s: 0px 0px 3px rgba(0, 0, 0, .11), 0px 5px 25px rgba(0, 0, 0, .17);--top-shadow: 0px 0px 4px rgba(0, 0, 0, .14), 0px 4px 32px rgba(0, 0, 0, .2);--top-shadow-b: 0px 0px 4px rgba(0, 0, 0, .15), 0px 18px 32px rgba(0, 0, 0, .34);--top-shadow-darken: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .03);--top-shadow-darken-2: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .12);--top-shadow-darken-3: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .1);--color-bg-preloader: rgba(255, 255, 255, .01)}:root{--color-bg-shading-1: var(--color-theme-225);--color-bg-shading-2: var(--color-theme-200);--color-bg-shading-3: var(--color-theme-175);--color-bg-shading-4: var(--color-theme-150);--color-bg-shading-5: var(--color-theme-125);--color-bg-shading-6: var(--color-theme-100);--color-bg-shading-7: var(--color-theme-50);--color-bg-inverted-1: var(--color-theme-970);--color-bg-inverted-2: var(--color-theme-955);--color-bg-inverted-3: var(--color-theme-900);--color-bg-inverted-4: var(--color-theme-850);--color-bg-inverted-5: var(--color-theme-800);--color-bg-inverted-6: var(--color-theme-750);--color-bg-inverted-7: var(--color-theme-725);--color-bg-inverted-8: var(--color-theme-710);--color-bg-inverted-9: var(--color-theme-700);--color-bg-inverted-10: var(--color-theme-675);--color-bg-primary-1: var(--color-primary-550);--color-bg-primary-2: var(--color-primary-650);--color-bg-primary-3: var(--color-primary-720);--color-bg-positive-1: var(--color-positive-450);--color-bg-positive-2: var(--color-positive-600);--color-bg-positive-3: var(--color-positive-740);--color-bg-warning-1: var(--color-warning-450);--color-bg-warning-2: var(--color-warning-600);--color-bg-warning-3: var(--color-warning-700);--color-bg-negative-1: var(--color-negative-550);--color-bg-negative-2: var(--color-negative-650);--color-bg-negative-3: var(--color-negative-720);--color-bg-info-1: var(--color-info-650);--color-bg-info-2: var(--color-info-720);--color-bg-info-3: var(--color-info-780);--color-text-1: var(--color-theme-970);--color-text-2: var(--color-theme-750);--color-text-3: var(--color-theme-500);--color-text-4: var(--color-theme-450);--color-text-1-inverse: var(--color-theme-100);--color-text-white: var(--color-white);--color-text-primary: var(--color-primary-550);--color-text-positive: var(--color-positive-450);--color-text-warning: var(--color-warning-450);--color-text-negative: var(--color-negative-550);--color-text-info: var(--color-info-650);--color-line-1: var(--color-theme-350);--color-line-2: var(--color-theme-400);--color-line-3: var(--color-theme-485);--color-line-4: var(--color-theme-650);--color-line-1-opacity: rgba(193, 203, 215, .1);--color-line-2-opacity: rgba(193, 203, 215, .15);--color-line-3-opacity: rgba(193, 203, 215, .27);--color-line-primary-1: var(--color-primary-450);--color-line-primary-2: var(--color-positive-600);--color-line-primary-3: var(--color-positive-740);--color-line-primary-1-opacity: rgba(122, 164, 255, .14);--color-line-primary-2-opacity: rgba(122, 164, 255, .28);--color-line-primary-3-opacity: rgba(122, 164, 255, .38);--color-line-positive-1: var(--color-positive-450);--color-line-positive-2: var(--color-positive-600);--color-line-positive-3: var(--color-positive-740);--color-line-positive-1-opacity: rgba(164, 233, 171, .14);--color-line-positive-2-opacity: rgba(164, 233, 171, .28);--color-line-positive-3-opacity: rgba(164, 233, 171, .38);--color-line-warning-1: var(--color-warning-450);--color-line-warning-2: var(--color-warning-600);--color-line-warning-3: var(--color-warning-700);--color-line-warning-1-opacity: rgba(255, 191, 128, .14);--color-line-warning-2-opacity: rgba(255, 191, 128, .28);--color-line-warning-3-opacity: rgba(255, 191, 128, .38);--color-line-negative-1: var(--color-negative-550);--color-line-negative-2: var(--color-negative-650);--color-line-negative-3: var(--color-negative-720);--color-line-negative-1-opacity: rgba(239, 135, 148, .14);--color-line-negative-2-opacity: rgba(239, 135, 148, .28);--color-line-negative-3-opacity: rgba(239, 135, 148, .38);--color-line-info-1: var(--color-info-650);--color-line-info-2: var(--color-info-720);--color-line-info-3: var(--color-info-780);--color-line-info-1-opacity: rgba(168, 120, 247, .14);--color-line-info-2-opacity: rgba(168, 120, 247, .28);--color-line-info-3-opacity: rgba(168, 120, 247, .38);--scroll-thumb-color: var(--color-theme-250);--scroll-thumb-color-hover: var(--color-theme-300);--scroll-thumb-color-active: var(--color-theme-400);--body-background-color: var(--color-layout-front);--color-layout-front: var(--color-layout-front);--top-forms-option-color: var(--color-primary-550);--top-forms-option-color-hover: var(--color-primary-650)}:root{--color-layout-back: var(--color-theme-100);--color-layout-header: var(--color-theme-225);--color-layout-middle: var(--color-theme-125);--color-layout-front: var(--color-theme-225);--color-layout-over-1: var(--color-theme-260);--color-layout-over-2: var(--color-theme-300);--color-layout-over-3: var(--color-theme-325);--color-layout-over-4: var(--color-theme-350);--color-layout-over-5: var(--color-theme-375)}:root{--color-top-3: #5BA8DC;--color-top-10: #1AAD7B;--color-top-30: #4BD2B8;--color-top-50: #68CA63;--color-top-100: #9DAAAA;--color-top-1000: #CAA549;--color-table-top-1: #435E93;--color-table-top-2: #3F5788;--color-table-top-3: #3B5381;--color-table-top-4: #357550;--color-table-top-5: #336F4E;--color-table-top-6: #326B4D;--color-table-top-7: #31684C;--color-table-top-8: #30624A;--color-table-top-9: #2F5D48;--color-table-top-10: #2D5747;--color-table-move-up-10: #367B53;--color-table-move-up-9: #357550;--color-table-move-up-8: #336F4E;--color-table-move-up-7: #326B4D;--color-table-move-up-6: #31684C;--color-table-move-up-5: #30624A;--color-table-move-up-4: #2F5D48;--color-table-move-up-3: #2D5747;--color-table-move-up-2: #2C5145;--color-table-move-up-1: #2A4A42;--color-table-move-0: #293342;--color-table-move-down-1: #46303F;--color-table-move-down-2: #4F3040;--color-table-move-down-3: #583142;--color-table-move-down-4: #633244;--color-table-move-down-5: #6C3345;--color-table-move-down-6: #723446;--color-table-move-down-7: #793547;--color-table-move-down-8: #823649;--color-table-move-down-9: #8A364A;--color-table-move-down-10: #93374C;--color-table-down: #46303F;--color-table-down-10: #4F3040;--color-table-up: #365344;--color-table-up-10: #2C5145;--color-table-not_found: #625C40;--color-table-base: var(--color-layout-front);--color-snapshot-panel-gradient-1: rgba(35, 44, 77, .5);--color-snapshot-panel-gradient-2: rgba(35, 44, 77, .8);--color-snippet-title: #A2C2FA;--color-snippet-title-visited: #BC8CF2;--color-snippet-url: #007700}
|
|
1
|
+
:root{--color-theme-0: #000000;--color-theme-50: #050815;--color-theme-75: #090A18;--color-theme-100: #0E121B;--color-theme-125: #111722;--color-theme-150: #141C29;--color-theme-175: #172130;--color-theme-200: #1B2637;--color-theme-225: #1E2B3E;--color-theme-250: #223044;--color-theme-260: #25344C;--color-theme-275: #293852;--color-theme-300: #2C3E58;--color-theme-325: #2F4360;--color-theme-350: #324867;--color-theme-360: #364D6D;--color-theme-375: #395175;--color-theme-400: #3D557B;--color-theme-410: #405A82;--color-theme-420: #435F89;--color-theme-430: #47648F;--color-theme-440: #4A6996;--color-theme-450: #4D6E9D;--color-theme-460: #5173A4;--color-theme-465: #5476AB;--color-theme-470: #5B7DAE;--color-theme-475: #6281B2;--color-theme-480: #6987B5;--color-theme-485: #708DB8;--color-theme-500: #7692BC;--color-theme-550: #7D97BF;--color-theme-575: #849DC2;--color-theme-600: #8AA2C6;--color-theme-625: #92A7C9;--color-theme-650: #98AECD;--color-theme-675: #9FB3D0;--color-theme-700: #A7B9D3;--color-theme-710: #ADBED6;--color-theme-725: #B3C3DA;--color-theme-750: #BBC9DD;--color-theme-800: #C1CEE1;--color-theme-850: #C8D3E4;--color-theme-900: #CFD9E8;--color-theme-925: #D6DEEB;--color-theme-950: #DDE3EE;--color-theme-955: #E4EAF1;--color-theme-960: #EAEFF5;--color-theme-965: #F1F4F8;--color-theme-970: #F9FAFB;--color-theme-1000: #FFFFFF;--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-secondary-25: #121212;--color-secondary-50: #1A1A1A;--color-secondary-100: #232323;--color-secondary-125: #2C2C2C;--color-secondary-150: #353535;--color-secondary-200: #3E3E3E;--color-secondary-225: #464646;--color-secondary-250: #4F4F4F;--color-secondary-275: #585858;--color-secondary-300: #616161;--color-secondary-350: #6A6A6A;--color-secondary-400: #727272;--color-secondary-450: #7B7B7B;--color-secondary-500: #848484;--color-secondary-550: #8D8D8D;--color-secondary-600: #959595;--color-secondary-650: #9E9E9E;--color-secondary-700: #A7A7A7;--color-secondary-720: #B0B0B0;--color-secondary-740: #B9B9B9;--color-secondary-760: #C1C1C1;--color-secondary-780: #CACACA;--color-secondary-800: #D3D3D3;--color-secondary-825: #DCDCDC;--color-secondary-850: #E5E5E5;--color-secondary-900: #EDEDED;--color-secondary-950: #F6F6F6;--color-primary-25: #1F252E;--color-primary-50: #1C2736;--color-primary-100: #18293E;--color-primary-125: #142B48;--color-primary-150: #16355A;--color-primary-200: #183E6D;--color-primary-225: #184781;--color-primary-250: #185095;--color-primary-275: #175AAB;--color-primary-300: #1563C1;--color-primary-350: #136BD8;--color-primary-400: #0F74F0;--color-primary-450: #1E7FF6;--color-primary-500: #2D8AFB;--color-primary-550: #3D94FF;--color-primary-600: #52A0FF;--color-primary-650: #66ABFF;--color-primary-700: #7AB6FF;--color-primary-720: #8FC1FF;--color-primary-740: #A3CDFF;--color-primary-760: #B8D8FF;--color-primary-780: #C2DDFF;--color-primary-800: #CCE3FF;--color-primary-825: #D6E9FF;--color-primary-850: #E0EEFF;--color-primary-900: #EBF4FF;--color-primary-950: #F5F9FF;--color-positive-25: #232424;--color-positive-50: #282A29;--color-positive-100: #252F27;--color-positive-125: #223A30;--color-positive-150: #2C5940;--color-positive-200: #2F6A46;--color-positive-225: #327B49;--color-positive-250: #348D4A;--color-positive-275: #36A150;--color-positive-300: #36B356;--color-positive-350: #36C95B;--color-positive-400: #41C865;--color-positive-450: #4DD96E;--color-positive-500: #5CE084;--color-positive-550: #5AE27C;--color-positive-600: #6CE58A;--color-positive-650: #8BE69B;--color-positive-700: #A8EFB2;--color-positive-720: #B1F1C1;--color-positive-740: #BAF3C8;--color-positive-760: #C2F4CF;--color-positive-780: #CBF6D6;--color-positive-825: #D4F7DD;--color-positive-850: #DCF9E3;--color-positive-900: #E6FAEA;--color-positive-950: #EEF8F1;--color-warning-25: #3C1F1F;--color-warning-50: #39221B;--color-warning-100: #421B1A;--color-warning-125: #4C2015;--color-warning-150: #5E2517;--color-warning-200: #71321E;--color-warning-225: #7F3D19;--color-warning-250: #9A511A;--color-warning-275: #AF6420;--color-warning-300: #C56D1C;--color-warning-350: #DD780C;--color-warning-400: #F08214;--color-warning-450: #F48B1B;--color-warning-500: #FB9632;--color-warning-550: #FFA042;--color-warning-600: #FFAB57;--color-warning-650: #FFB56B;--color-warning-700: #FFBF80;--color-warning-720: #FFCB94;--color-warning-740: #FFD7A8;--color-warning-760: #FFDEBF;--color-warning-780: #FFE3C7;--color-warning-800: #FFE8CF;--color-warning-825: #FFEDDB;--color-warning-850: #FFF3E6;--color-warning-900: #FFF7F0;--color-warning-950: #FFFDFA;--color-negative-25: #2E2229;--color-negative-50: #371F2B;--color-negative-100: #402030;--color-negative-125: #4A1733;--color-negative-150: #5B193A;--color-negative-200: #6E1C2F;--color-negative-225: #8A1C34;--color-negative-250: #9B1D32;--color-negative-275: #AB1A2F;--color-negative-300: #C31A30;--color-negative-350: #D81534;--color-negative-400: #EB1938;--color-negative-450: #F12745;--color-negative-500: #F73652;--color-negative-550: #FF4262;--color-negative-600: #FF576F;--color-negative-650: #FF6B7B;--color-negative-700: #FF8092;--color-negative-720: #FF949F;--color-negative-740: #FFA8B5;--color-negative-760: #FFBFC6;--color-negative-780: #FFC7CF;--color-negative-800: #FFD1D8;--color-negative-825: #FFDDE1;--color-negative-850: #FFE5E9;--color-negative-900: #FFF0F2;--color-negative-950: #FFFAFB;--color-info-25: #101027;--color-info-50: #14132A;--color-info-100: #191335;--color-info-125: #1E1245;--color-info-150: #2A1255;--color-info-200: #36116A;--color-info-225: #40127C;--color-info-250: #4B128B;--color-info-275: #5415AA;--color-info-300: #5E15BD;--color-info-350: #6615D3;--color-info-400: #6F0FEB;--color-info-450: #7913F5;--color-info-500: #8414F3;--color-info-550: #8F38FF;--color-info-600: #9952FF;--color-info-650: #A561FF;--color-info-700: #B078FF;--color-info-720: #BC8AFF;--color-info-740: #C89EFF;--color-info-760: #D4B2FF;--color-info-780: #D9BDFF;--color-info-800: #DFC7FF;--color-info-825: #E5D1FF;--color-info-850: #EBDBFF;--color-info-900: #F1E5FF;--color-info-950: #F6F0FF;--color-layer-1: rgba(129, 148, 177, .08);--color-layer-2: rgba(129, 148, 177, .14);--color-layer-3: rgba(129, 148, 177, .18);--color-layer-4: rgba(129, 148, 177, .24);--color-layer-primary-1: rgba(45, 110, 251, .14);--color-layer-primary-2: rgba(45, 110, 251, .2);--color-layer-primary-3: rgba(45, 110, 251, .3);--color-layer-primary-4: rgba(45, 110, 251, .4);--color-layer-positive-1: rgba(54, 181, 86, .14);--color-layer-positive-2: rgba(54, 181, 86, .2);--color-layer-positive-3: rgba(54, 181, 86, .3);--color-layer-positive-4: rgba(54, 181, 86, .4);--color-layer-warning-1: rgba(255, 160, 66, .14);--color-layer-warning-2: rgba(255, 160, 66, .2);--color-layer-warning-3: rgba(255, 160, 66, .3);--color-layer-warning-4: rgba(255, 160, 66, .4);--color-layer-negative-1: rgba(247, 54, 82, .14);--color-layer-negative-2: rgba(247, 54, 82, .2);--color-layer-negative-3: rgba(247, 54, 82, .3);--color-layer-negative-4: rgba(247, 54, 82, .4);--color-layer-info-1: rgba(165, 97, 255, .14);--color-layer-info-2: rgba(165, 97, 255, .2);--color-layer-info-3: rgba(165, 97, 255, .3);--color-layer-info-4: rgba(165, 97, 255, .4);--color-fill-secondary-0: #FFFFFF;--color-fill-secondary-100: #F3F6FA;--color-fill-secondary-150: #E5EBF3;--color-fill-secondary-200: #DBE3EC;--color-fill-secondary-250: #CCD3DE;--color-fill-secondary-300: #BFC6D2;--color-fill-secondary-350: #ACB5C1;--color-fill-secondary-400: #A0AAB6;--color-fill-secondary-450: #838D9C;--color-fill-secondary-500: #68707C;--color-fill-secondary-550: #606771;--color-fill-secondary-600: #595F68;--color-fill-secondary-650: #4E5259;--color-fill-secondary-700: #484B50;--color-fill-secondary-750: #383A3E;--color-fill-secondary-800: #303234;--color-fill-secondary-850: #2D2F30;--color-fill-secondary-900: #28292A;--color-fill-secondary-950: #212122;--color-fill-secondary-960: #1C1C1D;--color-fill-secondary-970: #161617;--color-fill-secondary-1000: #000000;--top-shadow-xs: 0px 0px 3px rgba(0, 0, 0, .11), 0px 5px 25px rgba(0, 0, 0, .08);--top-shadow-s: 0px 0px 3px rgba(0, 0, 0, .11), 0px 5px 25px rgba(0, 0, 0, .17);--top-shadow: 0px 0px 4px rgba(0, 0, 0, .14), 0px 4px 32px rgba(0, 0, 0, .2);--top-shadow-b: 0px 0px 4px rgba(0, 0, 0, .15), 0px 18px 32px rgba(0, 0, 0, .34);--top-shadow-darken: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .03);--top-shadow-darken-2: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .12);--top-shadow-darken-3: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .1);--color-bg-preloader: rgba(255, 255, 255, .01)}:root{--color-bg-shading-1: var(--color-theme-225);--color-bg-shading-2: var(--color-theme-200);--color-bg-shading-3: var(--color-theme-175);--color-bg-shading-4: var(--color-theme-150);--color-bg-shading-5: var(--color-theme-125);--color-bg-shading-6: var(--color-theme-100);--color-bg-shading-7: var(--color-theme-50);--color-bg-inverted-1: var(--color-theme-970);--color-bg-inverted-2: var(--color-theme-955);--color-bg-inverted-3: var(--color-theme-900);--color-bg-inverted-4: var(--color-theme-850);--color-bg-inverted-5: var(--color-theme-800);--color-bg-inverted-6: var(--color-theme-750);--color-bg-inverted-7: var(--color-theme-725);--color-bg-inverted-8: var(--color-theme-710);--color-bg-inverted-9: var(--color-theme-700);--color-bg-inverted-10: var(--color-theme-675);--color-bg-primary-1: var(--color-primary-550);--color-bg-primary-2: var(--color-primary-650);--color-bg-primary-3: var(--color-primary-720);--color-bg-positive-1: var(--color-positive-450);--color-bg-positive-2: var(--color-positive-600);--color-bg-positive-3: var(--color-positive-740);--color-bg-warning-1: var(--color-warning-450);--color-bg-warning-2: var(--color-warning-600);--color-bg-warning-3: var(--color-warning-700);--color-bg-negative-1: var(--color-negative-550);--color-bg-negative-2: var(--color-negative-650);--color-bg-negative-3: var(--color-negative-720);--color-bg-info-1: var(--color-info-650);--color-bg-info-2: var(--color-info-720);--color-bg-info-3: var(--color-info-780);--color-text-1: var(--color-secondary-950);--color-text-2: var(--color-secondary-780);--color-text-3: var(--color-secondary-600);--color-text-4: var(--color-secondary-300);--color-text-1-inverse: var(--color-theme-100);--color-text-white: var(--color-white);--color-text-primary: var(--color-primary-550);--color-text-positive: var(--color-positive-450);--color-text-warning: var(--color-warning-450);--color-text-negative: var(--color-negative-550);--color-text-info: var(--color-info-650);--color-line-1: var(--color-theme-350);--color-line-2: var(--color-theme-400);--color-line-3: var(--color-theme-485);--color-line-4: var(--color-theme-650);--color-line-1-opacity: rgba(193, 203, 215, .1);--color-line-2-opacity: rgba(193, 203, 215, .15);--color-line-3-opacity: rgba(193, 203, 215, .27);--color-line-primary-1: var(--color-primary-450);--color-line-primary-2: var(--color-positive-600);--color-line-primary-3: var(--color-positive-740);--color-line-primary-1-opacity: rgba(122, 164, 255, .14);--color-line-primary-2-opacity: rgba(122, 164, 255, .28);--color-line-primary-3-opacity: rgba(122, 164, 255, .38);--color-line-positive-1: var(--color-positive-450);--color-line-positive-2: var(--color-positive-600);--color-line-positive-3: var(--color-positive-740);--color-line-positive-1-opacity: rgba(164, 233, 171, .14);--color-line-positive-2-opacity: rgba(164, 233, 171, .28);--color-line-positive-3-opacity: rgba(164, 233, 171, .38);--color-line-warning-1: var(--color-warning-450);--color-line-warning-2: var(--color-warning-600);--color-line-warning-3: var(--color-warning-700);--color-line-warning-1-opacity: rgba(255, 191, 128, .14);--color-line-warning-2-opacity: rgba(255, 191, 128, .28);--color-line-warning-3-opacity: rgba(255, 191, 128, .38);--color-line-negative-1: var(--color-negative-550);--color-line-negative-2: var(--color-negative-650);--color-line-negative-3: var(--color-negative-720);--color-line-negative-1-opacity: rgba(239, 135, 148, .14);--color-line-negative-2-opacity: rgba(239, 135, 148, .28);--color-line-negative-3-opacity: rgba(239, 135, 148, .38);--color-line-info-1: var(--color-info-650);--color-line-info-2: var(--color-info-720);--color-line-info-3: var(--color-info-780);--color-line-info-1-opacity: rgba(168, 120, 247, .14);--color-line-info-2-opacity: rgba(168, 120, 247, .28);--color-line-info-3-opacity: rgba(168, 120, 247, .38);--scroll-thumb-color: var(--color-theme-250);--scroll-thumb-color-hover: var(--color-theme-300);--scroll-thumb-color-active: var(--color-theme-400);--body-background-color: var(--color-layout-front-1);--top-forms-option-color: var(--color-primary-550);--top-forms-option-color-hover: var(--color-primary-650)}:root{--color-layout-back: var(--color-theme-100);--color-layout-header: var(--color-theme-125);--color-layout-middle: var(--color-theme-125);--color-layout-front-1: var(--color-theme-225);--color-layout-front-2: #222F43;--color-layout-front-3: #253348;--color-layout-front-4: #29374D;--color-layout-front-5: #2C3B52;--color-layout-front-6: #2C3B52;--color-layout-front-primary-1: #202C3F;--color-layout-front-primary-2: #232f41;--color-layout-front-primary-3: #243149;--color-layout-front-primary-4: #243450;--color-layout-front-primary-5: #253758;--color-layout-front-primary-6: #253960;--color-layout-front-positive-1: #202D3D;--color-layout-front-positive-2: #25333b;--color-layout-front-positive-3: #263a3d;--color-layout-front-positive-4: #284140;--color-layout-front-positive-5: #2a4842;--color-layout-front-positive-6: #2b4f44;--color-layout-front-warning-1: #222D3C;--color-layout-front-warning-2: #2b3038;--color-layout-front-warning-3: #343437;--color-layout-front-warning-4: #3c3836;--color-layout-front-warning-5: #453b35;--color-layout-front-warning-6: #4d3f35;--color-layout-front-negative-1: #222B3D;--color-layout-front-negative-2: #2b2c3a;--color-layout-front-negative-3: #342d3b;--color-layout-front-negative-4: #3c2d3c;--color-layout-front-negative-5: #452e3d;--color-layout-front-negative-6: #4d2e3e;--color-layout-front-info-1: #212B3F;--color-layout-front-info-2: #272c41;--color-layout-front-info-3: #2b2c49;--color-layout-front-info-4: #2f2c50;--color-layout-front-info-5: #332b58;--color-layout-front-info-6: #362b60}:root{--color-top-3: #5BA8DC;--color-top-10: #1AAD7B;--color-top-30: #4BD2B8;--color-top-50: #68CA63;--color-top-100: #9DAAAA;--color-top-1000: #CAA549;--color-table-top-1: #435E93;--color-table-top-2: #3F5788;--color-table-top-3: #3B5381;--color-table-top-4: #357550;--color-table-top-5: #336F4E;--color-table-top-6: #326B4D;--color-table-top-7: #31684C;--color-table-top-8: #30624A;--color-table-top-9: #2F5D48;--color-table-top-10: #2D5747;--color-table-move-up-10: #367B53;--color-table-move-up-9: #357550;--color-table-move-up-8: #336F4E;--color-table-move-up-7: #326B4D;--color-table-move-up-6: #31684C;--color-table-move-up-5: #30624A;--color-table-move-up-4: #2F5D48;--color-table-move-up-3: #2D5747;--color-table-move-up-2: #2C5145;--color-table-move-up-1: #2A4A42;--color-table-move-0: #293342;--color-table-move-down-1: #46303F;--color-table-move-down-2: #4F3040;--color-table-move-down-3: #583142;--color-table-move-down-4: #633244;--color-table-move-down-5: #6C3345;--color-table-move-down-6: #723446;--color-table-move-down-7: #793547;--color-table-move-down-8: #823649;--color-table-move-down-9: #8A364A;--color-table-move-down-10: #93374C;--color-table-down: #46303F;--color-table-down-10: #4F3040;--color-table-up: #365344;--color-table-up-10: #2C5145;--color-table-not_found: #625C40;--color-table-base: var(--color-layout-front-1);--color-snapshot-panel-gradient-1: rgba(35, 44, 77, .5);--color-snapshot-panel-gradient-2: rgba(35, 44, 77, .8);--color-snippet-title: #A2C2FA;--color-snippet-title-visited: #BC8CF2;--color-snippet-url: #007700}
|
package/assets/themes/light.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--color-theme-0: #FFFFFF;--color-theme-25: #F8FAFC;--color-theme-50: #F9FAFB;--color-theme-75: #F4f8fA;--color-theme-100: #F1F4F8;--color-theme-125: #EAEFF5;--color-theme-150: #E4EAF1;--color-theme-175: #DDE3EE;--color-theme-200: #D6DEEB;--color-theme-225: #CFD9E8;--color-theme-250: #C8D3E4;--color-theme-260: #C1CEE1;--color-theme-275: #BBC9DD;--color-theme-300: #B3C3DA;--color-theme-325: #ADBED6;--color-theme-350: #A7B9D3;--color-theme-360: #9FB3D0;--color-theme-375: #98AECD;--color-theme-400: #92A7C9;--color-theme-410: #8AA2C6;--color-theme-420: #849DC2;--color-theme-430: #7D97BF;--color-theme-440: #7692BC;--color-theme-450: #708DB8;--color-theme-460: #6987B5;--color-theme-465: #6281B2;--color-theme-470: #5B7DAE;--color-theme-475: #5476AB;--color-theme-480: #5173A4;--color-theme-485: #4D6E9D;--color-theme-500: #4A6996;--color-theme-550: #47648F;--color-theme-575: #435F89;--color-theme-600: #405A82;--color-theme-625: #3D557B;--color-theme-650: #395175;--color-theme-675: #364D6D;--color-theme-700: #324867;--color-theme-710: #2F4360;--color-theme-725: #2C3E58;--color-theme-750: #293852;--color-theme-800: #25344C;--color-theme-850: #223044;--color-theme-900: #1E2B3E;--color-theme-925: #1B2637;--color-theme-950: #172130;--color-theme-955: #141C29;--color-theme-960: #111722;--color-theme-965: #0E121B;--color-theme-970: #0A0F15;--color-theme-975: #05080A;--color-theme-1000: #000000;--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-primary-25: #F5F9FF;--color-primary-50: #EBF4FF;--color-primary-100: #D6E9FF;--color-primary-125: #CCE3FF;--color-primary-150: #C2DDFF;--color-primary-200: #B8D8FF;--color-primary-225: #A3CDFF;--color-primary-250: #8FC1FF;--color-primary-275: #7AB6FF;--color-primary-300: #66ABFF;--color-primary-350: #52A0FF;--color-primary-400: #3D94FF;--color-primary-450: #2D8AFB;--color-primary-500: #1E7FF6;--color-primary-550: #0F74F0;--color-primary-600: #136BD8;--color-primary-650: #1563C1;--color-primary-700: #175AAB;--color-primary-720: #185095;--color-primary-740: #184781;--color-primary-760: #183E6D;--color-primary-780: #16355A;--color-primary-800: #142B48;--color-primary-825: #18293E;--color-primary-850: #1C2736;--color-primary-900: #1C2736;--color-primary-950: #1F252E;--color-positive-25: #EEF8F1;--color-positive-50: #E6FAEA;--color-positive-100: #DCF9E3;--color-positive-125: #D4F7DD;--color-positive-150: #CBF6D6;--color-positive-200: #C2F4CF;--color-positive-225: #BAF3C8;--color-positive-250: #8BE69B;--color-positive-275: #87E89F;--color-positive-300: #6CE58A;--color-positive-350: #5CE084;--color-positive-400: #4DD96E;--color-positive-450: #41C865;--color-positive-500: #36C95B;--color-positive-550: #36B356;--color-positive-600: #36A150;--color-positive-650: #348D4A;--color-positive-700: #327B49;--color-positive-720: #2F6A46;--color-positive-740: #2C5940;--color-positive-760: #223A30;--color-positive-780: #252F27;--color-positive-825: #282A29;--color-positive-850: #232424;--color-positive-900: #232424;--color-positive-950: #232424;--color-warning-25: #FFFDFA;--color-warning-50: #FFF7F0;--color-warning-100: #FFF3E6;--color-warning-125: #FFEDDB;--color-warning-150: #FFE8CF;--color-warning-200: #FFE3C7;--color-warning-225: #FFDEBF;--color-warning-250: #FFD7A8;--color-warning-275: #FFCB94;--color-warning-300: #FFBF80;--color-warning-350: #FFB56B;--color-warning-400: #FFAB57;--color-warning-450: #FFA042;--color-warning-500: #FB9632;--color-warning-550: #F48B1B;--color-warning-600: #F08214;--color-warning-650: #DD780C;--color-warning-700: #C56D1C;--color-warning-720: #AF6420;--color-warning-740: #9A511A;--color-warning-760: #7F3D19;--color-warning-780: #71321E;--color-warning-800: #5E2517;--color-warning-825: #4C2015;--color-warning-850: #421B1A;--color-warning-900: #39221B;--color-warning-950: #3C1F1F;--color-negative-25: #FFFAFB;--color-negative-50: #FFF0F2;--color-negative-100: #FFE5E9;--color-negative-125: #FFDDE1;--color-negative-150: #FFD1D8;--color-negative-200: #FFC7CF;--color-negative-225: #FFBFC6;--color-negative-250: #FFA8B5;--color-negative-275: #FF949F;--color-negative-300: #FF8092;--color-negative-350: #FF6B7B;--color-negative-400: #FF576F;--color-negative-450: #FF4262;--color-negative-500: #F73652;--color-negative-550: #F12745;--color-negative-600: #EB1938;--color-negative-650: #D81534;--color-negative-700: #C31A30;--color-negative-720: #AB1A2F;--color-negative-740: #9B1D32;--color-negative-760: #8A1C34;--color-negative-780: #6E1C2F;--color-negative-800: #5B193A;--color-negative-825: #4A1733;--color-negative-850: #402030;--color-negative-900: #371F2B;--color-negative-950: #2E2229;--color-info-25: #F6F0FF;--color-info-50: #F1E5FF;--color-info-100: #F1E5FF;--color-info-125: #EBDBFF;--color-info-150: #EBDBFF;--color-info-200: #E5D1FF;--color-info-225: #DFC7FF;--color-info-250: #D9BDFF;--color-info-275: #D4B2FF;--color-info-300: #C89EFF;--color-info-350: #BC8AFF;--color-info-400: #B078FF;--color-info-450: #A561FF;--color-info-500: #9952FF;--color-info-550: #8F38FF;--color-info-600: #8414F3;--color-info-650: #7913F5;--color-info-700: #6F0FEB;--color-info-720: #5E15BD;--color-info-740: #5415AA;--color-info-760: #40127C;--color-info-780: #36116A;--color-info-800: #2A1255;--color-info-825: #1E1245;--color-info-850: #191335;--color-info-900: #14132A;--color-info-950: #101027;--color-layer-1: rgba(97, 121, 158, .1);--color-layer-2: rgba(97, 121, 158, .14);--color-layer-3: rgba(97, 121, 158, .18);--color-layer-4: rgba(97, 121, 158, .24);--color-layer-primary-1: rgba(45, 110, 251, .08);--color-layer-primary-2: rgba(45, 110, 251, .12);--color-layer-primary-3: rgba(45, 110, 251, .18);--color-layer-primary-4: rgba(45, 110, 251, .24);--color-layer-positive-1: rgba(54, 201, 91, .08);--color-layer-positive-2: rgba(54, 201, 91, .12);--color-layer-positive-3: rgba(54, 201, 91, .18);--color-layer-positive-4: rgba(54, 201, 91, .24);--color-layer-warning-1: rgba(240, 130, 20, .08);--color-layer-warning-2: rgba(240, 130, 20, .12);--color-layer-warning-3: rgba(240, 130, 20, .18);--color-layer-warning-4: rgba(240, 130, 20, .24);--color-layer-negative-1: rgba(247, 54, 82, .08);--color-layer-negative-2: rgba(247, 54, 82, .12);--color-layer-negative-3: rgba(247, 54, 82, .18);--color-layer-negative-4: rgba(247, 54, 82, .24);--color-layer-info-1: rgba(165, 97, 255, .08);--color-layer-info-2: rgba(165, 97, 255, .12);--color-layer-info-3: rgba(165, 97, 255, .18);--color-layer-info-4: rgba(165, 97, 255, .24);--color-fg-1: #FCFCFD;--color-fg-2: #F5F6F9;--color-fg-3: #EAEFF2;--color-fg-4: #E0E4EC;--color-fg-5: #D5DBE5;--color-fg-primary-1: #F7F9FF;--color-fg-primary-2: #EEF3FF;--color-fg-primary-3: #E6EEFF;--color-fg-primary-4: #DDE8FE;--color-fg-primary-5: #D5E2FE;--color-fg-positive-1: #F8FEF9;--color-fg-positive-2: #F1FCF4;--color-fg-positive-3: #EAFBEF;--color-fg-positive-4: #E3F9E8;--color-fg-positive-5: #DBF8E3;--color-fg-warning-1: #FFFBF7;--color-fg-warning-2: #FFF7F0;--color-fg-warning-3: #FFF4E8;--color-fg-warning-4: #FFF0E1;--color-fg-warning-5: #FFECDA;--color-fg-negative-1: #FFF7F8;--color-fg-negative-2: #FEF0F1;--color-fg-negative-3: #FEE7E9;--color-fg-negative-4: #FEDFE3;--color-fg-negative-5: #FDD7DC;--color-fg-info-1: #FAF6FF;--color-fg-info-2: #F5EEFF;--color-fg-info-3: #F0E5FF;--color-fg-info-4: #EBDBFE;--color-fg-info-5: #E6D4FE;--color-fill-secondary-0: #FFFFFF;--color-fill-secondary-100: #F3F6FA;--color-fill-secondary-150: #E5EBF3;--color-fill-secondary-200: #DBE3EC;--color-fill-secondary-250: #CCD3DE;--color-fill-secondary-300: #BFC6D2;--color-fill-secondary-350: #ACB5C1;--color-fill-secondary-400: #A0AAB6;--color-fill-secondary-450: #838D9C;--color-fill-secondary-500: #68707C;--color-fill-secondary-550: #606771;--color-fill-secondary-600: #595F68;--color-fill-secondary-650: #4E5259;--color-fill-secondary-700: #484B50;--color-fill-secondary-750: #383A3E;--color-fill-secondary-800: #303234;--color-fill-secondary-850: #2D2F30;--color-fill-secondary-900: #28292A;--color-fill-secondary-950: #212122;--color-fill-secondary-960: #1C1C1D;--color-fill-secondary-970: #161617;--color-fill-secondary-1000: #000000;--top-shadow-xs: 0px 0px 3px rgba(112, 144, 176, .07), 0px 5px 25px rgba(112, 144, 176, .06);--top-shadow-s: 0px 0px 3px rgba(112, 144, 176, .07), 0px 5px 25px rgba(112, 144, 176, .12);--top-shadow: 0px 0px 4px rgba(4, 9, 84, .08), 0px 4px 32px rgba(4, 9, 84, .1);--top-shadow-b: 0px 0px 4px rgba(4, 36, 84, .08), 0px 18px 32px rgba(4, 25, 84, .18);--top-shadow-darken-1: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .03);--top-shadow-darken-2: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .09);--top-shadow-darken-3: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .18);--color-bg-preloader: rgba(255, 255, 255, .01)}:root{--color-bg-shading-1: var(--color-theme-0);--color-bg-shading-2: var(--color-theme-50);--color-bg-shading-3: var(--color-theme-100);--color-bg-shading-4: var(--color-theme-125);--color-bg-shading-5: var(--color-theme-150);--color-bg-shading-6: var(--color-theme-175);--color-bg-shading-7: var(--color-theme-200);--color-bg-inverted-1: var(--color-theme-950);--color-bg-inverted-2: var(--color-theme-900);--color-bg-inverted-3: var(--color-theme-800);--color-bg-inverted-4: var(--color-theme-750);--color-bg-inverted-5: var(--color-theme-725);--color-bg-inverted-6: var(--color-theme-700);--color-bg-inverted-7: var(--color-theme-675);--color-bg-inverted-8: var(--color-theme-650);--color-bg-inverted-9: var(--color-theme-625);--color-bg-inverted-10: var(--color-theme-600);--color-bg-primary-1: var(--color-primary-500);--color-bg-primary-2: var(--color-primary-600);--color-bg-primary-3: var(--color-primary-720);--color-bg-positive-1: var(--color-positive-500);--color-bg-positive-2: var(--color-positive-700);--color-bg-positive-3: var(--color-positive-760);--color-bg-warning-1: var(--color-warning-500);--color-bg-warning-2: var(--color-warning-600);--color-bg-warning-3: var(--color-warning-720);--color-bg-negative-1: var(--color-negative-500);--color-bg-negative-2: var(--color-negative-650);--color-bg-negative-3: var(--color-negative-720);--color-bg-info-1: var(--color-info-500);--color-bg-info-2: var(--color-info-650);--color-bg-info-3: var(--color-info-720);--color-text-1: var(--color-fill-secondary-850);--color-text-2: var(--color-fill-secondary-600);--color-text-3: var(--color-fill-secondary-450);--color-text-4: var(--color-fill-secondary-400);--color-text-1-inverse: var(--color-theme-0);--color-text-white: var(--color-white);--color-text-primary: var(--color-primary-550);--color-text-positive: var(--color-positive-600);--color-text-warning: var(--color-warning-600);--color-text-negative: var(--color-negative-600);--color-text-info: var(--color-info-500);--color-line-1: var(--color-theme-200);--color-line-2: var(--color-theme-250);--color-line-3: var(--color-theme-375);--color-line-4: var(--color-theme-470);--color-line-1-opacity: rgba(14, 65, 142, .1);--color-line-2-opacity: rgba(14, 65, 142, .19);--color-line-3-opacity: rgba(14, 65, 142, .39);--color-line-primary-1: var(--color-primary-500);--color-line-primary-2: var(--color-primary-650);--color-line-primary-3: var(--color-primary-720);--color-line-primary-1-opacity: rgba(15, 86, 240, .14);--color-line-primary-2-opacity: rgba(15, 86, 240, .28);--color-line-primary-3-opacity: rgba(15, 86, 240, .38);--color-line-positive-1: var(--color-positive-600);--color-line-positive-2: var(--color-positive-700);--color-line-positive-3: var(--color-positive-740);--color-line-positive-1-opacity: rgba(120, 216, 124, .14);--color-line-positive-2-opacity: rgba(120, 216, 124, .28);--color-line-positive-3-opacity: rgba(120, 216, 124, .38);--color-line-warning-1: var(--color-warning-600);--color-line-warning-2: var(--color-warning-700);--color-line-warning-3: var(--color-warning-740);--color-line-warning-1-opacity: rgba(251, 150, 50, .14);--color-line-warning-2-opacity: rgba(251, 150, 50, .28);--color-line-warning-3-opacity: rgba(251, 150, 50, .38);--color-line-negative-1: var(--color-negative-550);--color-line-negative-2: var(--color-negative-700);--color-line-negative-3: var(--color-negative-740);--color-line-negative-1-opacity: rgba(227, 73, 87, .14);--color-line-negative-2-opacity: rgba(227, 73, 87, .28);--color-line-negative-3-opacity: rgba(227, 73, 87, .38);--color-line-info-1: var(--color-info-500);--color-line-info-2: var(--color-info-550);--color-line-info-3: var(--color-info-600);--color-line-info-1-opacity: rgba(122, 47, 242, .14);--color-line-info-2-opacity: rgba(122, 47, 242, .28);--color-line-info-3-opacity: rgba(122, 47, 242, .38);--scroll-thumb-color: var(--color-theme-250);--scroll-thumb-color-hover: var(--color-theme-300);--scroll-thumb-color-active: var(--color-theme-400);--body-background-color: var(--color-layout-front);--color-layout-front: var(--color-layout-front);--top-forms-option-color: var(--color-primary-500);--top-forms-option-color-hover: var(--color-primary-600)}:root{--color-layout-back: var(--color-theme-200);--color-layout-header: var(--color-theme-0);--color-layout-middle: var(--color-theme-125);--color-layout-front: var(--color-theme-0);--color-layout-over-1: var(--color-theme-75);--color-layout-over-2: var(--color-theme-100);--color-layout-over-3: var(--color-theme-125);--color-layout-over-4: var(--color-theme-150);--color-layout-over-5: var(--color-theme-175)}:root{--color-top-3: #3198DD;--color-top-10: #21936C;--color-top-30: #1ABC9C;--color-top-50: #94DA90;--color-top-100: #BCC8C8;--color-top-1000: #FCC53B;--color-table-top-1: #A3D1EE;--color-table-top-2: #B4D9F1;--color-table-top-3: #C3E1F4;--color-table-top-4: #8FE3B3;--color-table-top-5: #99E4B9;--color-table-top-6: #A1E8C0;--color-table-top-7: #ACECCA;--color-table-top-8: #B6EEDD;--color-table-top-9: #BEF0D3;--color-table-top-10: #C8F0DA;--color-table-move-up-10: #84DFAB;--color-table-move-up-9: #8FE3B3;--color-table-move-up-8: #99E4B9;--color-table-move-up-7: #A1E8C0;--color-table-move-up-6: #ACECCA;--color-table-move-up-5: #B6EEDD;--color-table-move-up-4: #BEF0D3;--color-table-move-up-3: #C8F0DA;--color-table-move-up-2: #DEF5E9;--color-table-move-up-1: #ECF9F2;--color-table-move-0: #FCFEFD;--color-table-move-down-1: #FFF9F9;--color-table-move-down-2: #FEF2F1;--color-table-move-down-3: #FEE9E8;--color-table-move-down-4: #FCE4E3;--color-table-move-down-5: #FBE1DF;--color-table-move-down-6: #FBE0DB;--color-table-move-down-7: #FADED8;--color-table-move-down-8: #FAD7D4;--color-table-move-down-9: #F9D3D1;--color-table-move-down-10: #F9D0CD;--color-table-down: #FFF4F3;--color-table-down-10: #FBE1DF;--color-table-up: #EDF9F3;--color-table-up-10: #DEF6E9;--color-table-not_found: #F6E9C5;--color-table-base: var(--color-layout-front);--color-snapshot-panel-gradient-1: rgba(255, 255, 255, .5);--color-snapshot-panel-gradient-2: rgba(255, 255, 255, .8);--color-snippet-title: #1A0DAB;--color-snippet-title-visited: #660099;--color-snippet-url: #007700}
|
|
1
|
+
:root{--color-theme-0: #FFFFFF;--color-theme-50: #F9FAFB;--color-theme-75: #F4f8fA;--color-theme-100: #F1F4F8;--color-theme-125: #EAEFF5;--color-theme-150: #E4EAF1;--color-theme-175: #DDE3EE;--color-theme-200: #D6DEEB;--color-theme-225: #CFD9E8;--color-theme-250: #C8D3E4;--color-theme-260: #C1CEE1;--color-theme-275: #BBC9DD;--color-theme-300: #B3C3DA;--color-theme-325: #ADBED6;--color-theme-350: #A7B9D3;--color-theme-360: #9FB3D0;--color-theme-375: #98AECD;--color-theme-400: #92A7C9;--color-theme-410: #8AA2C6;--color-theme-420: #849DC2;--color-theme-430: #7D97BF;--color-theme-440: #7692BC;--color-theme-450: #708DB8;--color-theme-460: #6987B5;--color-theme-465: #6281B2;--color-theme-470: #5B7DAE;--color-theme-475: #5476AB;--color-theme-480: #5173A4;--color-theme-485: #4D6E9D;--color-theme-500: #4A6996;--color-theme-550: #47648F;--color-theme-575: #435F89;--color-theme-600: #405A82;--color-theme-625: #3D557B;--color-theme-650: #395175;--color-theme-675: #364D6D;--color-theme-700: #324867;--color-theme-710: #2F4360;--color-theme-725: #2C3E58;--color-theme-750: #293852;--color-theme-800: #25344C;--color-theme-850: #223044;--color-theme-900: #1E2B3E;--color-theme-925: #1B2637;--color-theme-950: #172130;--color-theme-955: #141C29;--color-theme-960: #111722;--color-theme-965: #0E121B;--color-theme-970: #0A0F15;--color-theme-1000: #000000;--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-secondary-25: #F6F6F6;--color-secondary-50: #EDEDED;--color-secondary-100: #E5E5E5;--color-secondary-125: #DCDCDC;--color-secondary-150: #D3D3D3;--color-secondary-200: #CACACA;--color-secondary-225: #C1C1C1;--color-secondary-250: #B9B9B9;--color-secondary-275: #B0B0B0;--color-secondary-300: #A7A7A7;--color-secondary-350: #9E9E9E;--color-secondary-400: #959595;--color-secondary-450: #8D8D8D;--color-secondary-500: #848484;--color-secondary-550: #7B7B7B;--color-secondary-600: #727272;--color-secondary-650: #6A6A6A;--color-secondary-700: #616161;--color-secondary-720: #585858;--color-secondary-740: #4F4F4F;--color-secondary-760: #464646;--color-secondary-780: #3E3E3E;--color-secondary-800: #353535;--color-secondary-825: #2C2C2C;--color-secondary-850: #232323;--color-secondary-900: #1A1A1A;--color-secondary-950: #121212;--color-primary-25: #F5F9FF;--color-primary-50: #EBF4FF;--color-primary-100: #D6E9FF;--color-primary-125: #CCE3FF;--color-primary-150: #C2DDFF;--color-primary-200: #B8D8FF;--color-primary-225: #A3CDFF;--color-primary-250: #8FC1FF;--color-primary-275: #7AB6FF;--color-primary-300: #66ABFF;--color-primary-350: #52A0FF;--color-primary-400: #3D94FF;--color-primary-450: #2D8AFB;--color-primary-500: #1E7FF6;--color-primary-550: #0F74F0;--color-primary-600: #136BD8;--color-primary-650: #1563C1;--color-primary-700: #175AAB;--color-primary-720: #185095;--color-primary-740: #184781;--color-primary-760: #183E6D;--color-primary-780: #16355A;--color-primary-800: #142B48;--color-primary-825: #18293E;--color-primary-850: #1C2736;--color-primary-900: #1C2736;--color-primary-950: #1F252E;--color-positive-25: #EEF8F1;--color-positive-50: #E6FAEA;--color-positive-100: #DCF9E3;--color-positive-125: #D4F7DD;--color-positive-150: #CBF6D6;--color-positive-200: #C2F4CF;--color-positive-225: #BAF3C8;--color-positive-250: #8BE69B;--color-positive-275: #87E89F;--color-positive-300: #6CE58A;--color-positive-350: #5CE084;--color-positive-400: #4DD96E;--color-positive-450: #41C865;--color-positive-500: #36C95B;--color-positive-550: #36B356;--color-positive-600: #36A150;--color-positive-650: #348D4A;--color-positive-700: #327B49;--color-positive-720: #2F6A46;--color-positive-740: #2C5940;--color-positive-760: #223A30;--color-positive-780: #252F27;--color-positive-825: #282A29;--color-positive-850: #232424;--color-positive-900: #232424;--color-positive-950: #232424;--color-warning-25: #FFFDFA;--color-warning-50: #FFF7F0;--color-warning-100: #FFF3E6;--color-warning-125: #FFEDDB;--color-warning-150: #FFE8CF;--color-warning-200: #FFE3C7;--color-warning-225: #FFDEBF;--color-warning-250: #FFD7A8;--color-warning-275: #FFCB94;--color-warning-300: #FFBF80;--color-warning-350: #FFB56B;--color-warning-400: #FFAB57;--color-warning-450: #FFA042;--color-warning-500: #FB9632;--color-warning-550: #F48B1B;--color-warning-600: #F08214;--color-warning-650: #DD780C;--color-warning-700: #C56D1C;--color-warning-720: #AF6420;--color-warning-740: #9A511A;--color-warning-760: #7F3D19;--color-warning-780: #71321E;--color-warning-800: #5E2517;--color-warning-825: #4C2015;--color-warning-850: #421B1A;--color-warning-900: #39221B;--color-warning-950: #3C1F1F;--color-negative-25: #FFFAFB;--color-negative-50: #FFF0F2;--color-negative-100: #FFE5E9;--color-negative-125: #FFDDE1;--color-negative-150: #FFD1D8;--color-negative-200: #FFC7CF;--color-negative-225: #FFBFC6;--color-negative-250: #FFA8B5;--color-negative-275: #FF949F;--color-negative-300: #FF8092;--color-negative-350: #FF6B7B;--color-negative-400: #FF576F;--color-negative-450: #FF4262;--color-negative-500: #F73652;--color-negative-550: #F12745;--color-negative-600: #EB1938;--color-negative-650: #D81534;--color-negative-700: #C31A30;--color-negative-720: #AB1A2F;--color-negative-740: #9B1D32;--color-negative-760: #8A1C34;--color-negative-780: #6E1C2F;--color-negative-800: #5B193A;--color-negative-825: #4A1733;--color-negative-850: #402030;--color-negative-900: #371F2B;--color-negative-950: #2E2229;--color-info-25: #F6F0FF;--color-info-50: #F1E5FF;--color-info-100: #F1E5FF;--color-info-125: #EBDBFF;--color-info-150: #EBDBFF;--color-info-200: #E5D1FF;--color-info-225: #DFC7FF;--color-info-250: #D9BDFF;--color-info-275: #D4B2FF;--color-info-300: #C89EFF;--color-info-350: #BC8AFF;--color-info-400: #B078FF;--color-info-450: #A561FF;--color-info-500: #9952FF;--color-info-550: #8F38FF;--color-info-600: #8414F3;--color-info-650: #7913F5;--color-info-700: #6F0FEB;--color-info-720: #5E15BD;--color-info-740: #5415AA;--color-info-760: #40127C;--color-info-780: #36116A;--color-info-800: #2A1255;--color-info-825: #1E1245;--color-info-850: #191335;--color-info-900: #14132A;--color-info-950: #101027;--color-layer-1: rgba(97, 121, 158, .1);--color-layer-2: rgba(97, 121, 158, .14);--color-layer-3: rgba(97, 121, 158, .18);--color-layer-4: rgba(97, 121, 158, .24);--color-layer-primary-1: rgba(45, 110, 251, .08);--color-layer-primary-2: rgba(45, 110, 251, .12);--color-layer-primary-3: rgba(45, 110, 251, .18);--color-layer-primary-4: rgba(45, 110, 251, .24);--color-layer-positive-1: rgba(54, 201, 91, .08);--color-layer-positive-2: rgba(54, 201, 91, .12);--color-layer-positive-3: rgba(54, 201, 91, .18);--color-layer-positive-4: rgba(54, 201, 91, .24);--color-layer-warning-1: rgba(240, 130, 20, .08);--color-layer-warning-2: rgba(240, 130, 20, .12);--color-layer-warning-3: rgba(240, 130, 20, .18);--color-layer-warning-4: rgba(240, 130, 20, .24);--color-layer-negative-1: rgba(247, 54, 82, .08);--color-layer-negative-2: rgba(247, 54, 82, .12);--color-layer-negative-3: rgba(247, 54, 82, .18);--color-layer-negative-4: rgba(247, 54, 82, .24);--color-layer-info-1: rgba(165, 97, 255, .08);--color-layer-info-2: rgba(165, 97, 255, .12);--color-layer-info-3: rgba(165, 97, 255, .18);--color-layer-info-4: rgba(165, 97, 255, .24);--color-fill-secondary-0: #FFFFFF;--color-fill-secondary-100: #F3F6FA;--color-fill-secondary-150: #E5EBF3;--color-fill-secondary-200: #DBE3EC;--color-fill-secondary-250: #CCD3DE;--color-fill-secondary-300: #BFC6D2;--color-fill-secondary-350: #ACB5C1;--color-fill-secondary-400: #A0AAB6;--color-fill-secondary-450: #838D9C;--color-fill-secondary-500: #68707C;--color-fill-secondary-550: #606771;--color-fill-secondary-600: #595F68;--color-fill-secondary-650: #4E5259;--color-fill-secondary-700: #484B50;--color-fill-secondary-750: #383A3E;--color-fill-secondary-800: #303234;--color-fill-secondary-850: #2D2F30;--color-fill-secondary-900: #28292A;--color-fill-secondary-950: #212122;--color-fill-secondary-960: #1C1C1D;--color-fill-secondary-970: #161617;--color-fill-secondary-1000: #000000;--top-shadow-xs: 0px 0px 3px rgba(112, 144, 176, .07), 0px 5px 25px rgba(112, 144, 176, .06);--top-shadow-s: 0px 0px 3px rgba(112, 144, 176, .07), 0px 5px 25px rgba(112, 144, 176, .12);--top-shadow: 0px 0px 4px rgba(4, 9, 84, .08), 0px 4px 32px rgba(4, 9, 84, .1);--top-shadow-b: 0px 0px 4px rgba(4, 36, 84, .08), 0px 18px 32px rgba(4, 25, 84, .18);--top-shadow-darken-1: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .03);--top-shadow-darken-2: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .09);--top-shadow-darken-3: inset 1000px 1000px 1000px 1000px rgba(0, 0, 0, .18);--color-bg-preloader: rgba(255, 255, 255, .01)}:root{--color-bg-shading-1: var(--color-theme-0);--color-bg-shading-2: var(--color-theme-50);--color-bg-shading-3: var(--color-theme-100);--color-bg-shading-4: var(--color-theme-125);--color-bg-shading-5: var(--color-theme-150);--color-bg-shading-6: var(--color-theme-175);--color-bg-shading-7: var(--color-theme-200);--color-bg-inverted-1: var(--color-theme-950);--color-bg-inverted-2: var(--color-theme-900);--color-bg-inverted-3: var(--color-theme-800);--color-bg-inverted-4: var(--color-theme-750);--color-bg-inverted-5: var(--color-theme-725);--color-bg-inverted-6: var(--color-theme-700);--color-bg-inverted-7: var(--color-theme-675);--color-bg-inverted-8: var(--color-theme-650);--color-bg-inverted-9: var(--color-theme-625);--color-bg-inverted-10: var(--color-theme-600);--color-bg-primary-1: var(--color-primary-500);--color-bg-primary-2: var(--color-primary-600);--color-bg-primary-3: var(--color-primary-720);--color-bg-positive-1: var(--color-positive-500);--color-bg-positive-2: var(--color-positive-700);--color-bg-positive-3: var(--color-positive-760);--color-bg-warning-1: var(--color-warning-500);--color-bg-warning-2: var(--color-warning-600);--color-bg-warning-3: var(--color-warning-720);--color-bg-negative-1: var(--color-negative-500);--color-bg-negative-2: var(--color-negative-650);--color-bg-negative-3: var(--color-negative-720);--color-bg-info-1: var(--color-info-500);--color-bg-info-2: var(--color-info-650);--color-bg-info-3: var(--color-info-720);--color-text-1: var(--color-fill-secondary-850);--color-text-2: var(--color-fill-secondary-600);--color-text-3: var(--color-fill-secondary-450);--color-text-4: var(--color-fill-secondary-400);--color-text-1-inverse: var(--color-theme-0);--color-text-white: var(--color-white);--color-text-primary: var(--color-primary-550);--color-text-positive: var(--color-positive-600);--color-text-warning: var(--color-warning-600);--color-text-negative: var(--color-negative-600);--color-text-info: var(--color-info-500);--color-line-1: var(--color-theme-200);--color-line-2: var(--color-theme-250);--color-line-3: var(--color-theme-375);--color-line-4: var(--color-theme-470);--color-line-1-opacity: rgba(14, 65, 142, .1);--color-line-2-opacity: rgba(14, 65, 142, .19);--color-line-3-opacity: rgba(14, 65, 142, .39);--color-line-primary-1: var(--color-primary-500);--color-line-primary-2: var(--color-primary-650);--color-line-primary-3: var(--color-primary-720);--color-line-primary-1-opacity: rgba(15, 86, 240, .14);--color-line-primary-2-opacity: rgba(15, 86, 240, .28);--color-line-primary-3-opacity: rgba(15, 86, 240, .38);--color-line-positive-1: var(--color-positive-600);--color-line-positive-2: var(--color-positive-700);--color-line-positive-3: var(--color-positive-740);--color-line-positive-1-opacity: rgba(120, 216, 124, .14);--color-line-positive-2-opacity: rgba(120, 216, 124, .28);--color-line-positive-3-opacity: rgba(120, 216, 124, .38);--color-line-warning-1: var(--color-warning-600);--color-line-warning-2: var(--color-warning-700);--color-line-warning-3: var(--color-warning-740);--color-line-warning-1-opacity: rgba(251, 150, 50, .14);--color-line-warning-2-opacity: rgba(251, 150, 50, .28);--color-line-warning-3-opacity: rgba(251, 150, 50, .38);--color-line-negative-1: var(--color-negative-550);--color-line-negative-2: var(--color-negative-700);--color-line-negative-3: var(--color-negative-740);--color-line-negative-1-opacity: rgba(227, 73, 87, .14);--color-line-negative-2-opacity: rgba(227, 73, 87, .28);--color-line-negative-3-opacity: rgba(227, 73, 87, .38);--color-line-info-1: var(--color-info-500);--color-line-info-2: var(--color-info-550);--color-line-info-3: var(--color-info-600);--color-line-info-1-opacity: rgba(122, 47, 242, .14);--color-line-info-2-opacity: rgba(122, 47, 242, .28);--color-line-info-3-opacity: rgba(122, 47, 242, .38);--scroll-thumb-color: var(--color-theme-250);--scroll-thumb-color-hover: var(--color-theme-300);--scroll-thumb-color-active: var(--color-theme-400);--body-background-color: var(--color-layout-front-1);--color-layout-front-1: var(--color-layout-front-1);--top-forms-option-color: var(--color-primary-500);--top-forms-option-color-hover: var(--color-primary-600)}:root{--color-layout-back: var(--color-theme-200);--color-layout-header: var(--color-theme-125);--color-layout-middle: var(--color-theme-125);--color-layout-front-1: var(--color-theme-0);--color-layout-front-2: #FCFCFD;--color-layout-front-3: #F5F6F9;--color-layout-front-4: #EAEFF2;--color-layout-front-5: #E0E4EC;--color-layout-front-6: #D5DBE5;--color-layout-front-primary-1: #FFFFFF;--color-layout-front-primary-2: #F7F9FF;--color-layout-front-primary-3: #EEF3FF;--color-layout-front-primary-4: #E6EEFF;--color-layout-front-primary-5: #DDE8FE;--color-layout-front-primary-6: #D5E2FE;--color-layout-front-positive-1: #FFFFFF;--color-layout-front-positive-2: #F8FEF9;--color-layout-front-positive-3: #F1FCF4;--color-layout-front-positive-4: #EAFBEF;--color-layout-front-positive-5: #E3F9E8;--color-layout-front-positive-6: #DBF8E3;--color-layout-front-warning-1: #FFFFFF;--color-layout-front-warning-2: #FFFBF7;--color-layout-front-warning-3: #FFF7F0;--color-layout-front-warning-4: #FFF4E8;--color-layout-front-warning-5: #FFF0E1;--color-layout-front-warning-6: #FFECDA;--color-layout-front-negative-1: #FFFFFF;--color-layout-front-negative-2: #FFF7F8;--color-layout-front-negative-3: #FEF0F1;--color-layout-front-negative-4: #FEE7E9;--color-layout-front-negative-5: #FEDFE3;--color-layout-front-negative-6: #FDD7DC;--color-layout-front-info-1: #FFFFFF;--color-layout-front-info-2: #FAF6FF;--color-layout-front-info-3: #F5EEFF;--color-layout-front-info-4: #F0E5FF;--color-layout-front-info-5: #EBDBFE;--color-layout-front-info-6: #E6D4FE}:root{--color-top-3: #3198DD;--color-top-10: #21936C;--color-top-30: #1ABC9C;--color-top-50: #94DA90;--color-top-100: #BCC8C8;--color-top-1000: #FCC53B;--color-table-top-1: #A3D1EE;--color-table-top-2: #B4D9F1;--color-table-top-3: #C3E1F4;--color-table-top-4: #8FE3B3;--color-table-top-5: #99E4B9;--color-table-top-6: #A1E8C0;--color-table-top-7: #ACECCA;--color-table-top-8: #B6EEDD;--color-table-top-9: #BEF0D3;--color-table-top-10: #C8F0DA;--color-table-move-up-10: #84DFAB;--color-table-move-up-9: #8FE3B3;--color-table-move-up-8: #99E4B9;--color-table-move-up-7: #A1E8C0;--color-table-move-up-6: #ACECCA;--color-table-move-up-5: #B6EEDD;--color-table-move-up-4: #BEF0D3;--color-table-move-up-3: #C8F0DA;--color-table-move-up-2: #DEF5E9;--color-table-move-up-1: #ECF9F2;--color-table-move-0: #FCFEFD;--color-table-move-down-1: #FFF9F9;--color-table-move-down-2: #FEF2F1;--color-table-move-down-3: #FEE9E8;--color-table-move-down-4: #FCE4E3;--color-table-move-down-5: #FBE1DF;--color-table-move-down-6: #FBE0DB;--color-table-move-down-7: #FADED8;--color-table-move-down-8: #FAD7D4;--color-table-move-down-9: #F9D3D1;--color-table-move-down-10: #F9D0CD;--color-table-down: #FFF4F3;--color-table-down-10: #FBE1DF;--color-table-up: #EDF9F3;--color-table-up-10: #DEF6E9;--color-table-not_found: #F6E9C5;--color-table-base: var(--color-layout-front-1);--color-snapshot-panel-gradient-1: rgba(255, 255, 255, .5);--color-snapshot-panel-gradient-2: rgba(255, 255, 255, .8);--color-snippet-title: #1A0DAB;--color-snippet-title-visited: #660099;--color-snippet-url: #007700}
|
package/core/app.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/forms-
|
|
1
|
+
define(["require","exports","../.chunks/forms-Ba0z_w3d.amd","../popup/worker.amd","../.chunks/i18n-C_OH9IT3.amd","vue","../.chunks/debounce-4ipCj607.amd","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd"],function(A,p,a,d,g,f,S,k,P,w){"use strict";if(typeof f>"u")var f=window.Vue;class I{static isInited=!1;static init(){this.isInited||(this.isInited=!0,document.addEventListener("mouseover",t=>{var e;!(t.target instanceof HTMLElement)||!((e=t.target.dataset)!=null&&e.topPopupOpenByHover)||t.target.click()}),document.addEventListener("scroll",()=>{a.Core.state.isMobile||a.Core.state.isMobileUA||d.TopPopupWorker.getAll().forEach(t=>d.TopPopupWorker.close(t))}),a.Events.addOnReize(t=>{a.Core.state.isMobile&&t.topEvent.widthDiff&&d.TopPopupWorker.getAll().forEach(e=>d.TopPopupWorker.close(e))}),document.addEventListener("click",this.onclick))}static async onclick(t){var o,n,i,r,c;if(!(t.target instanceof HTMLElement))return;let e;switch(!0){case!!((o=t.target.dataset)!=null&&o.topPopup):e=t.target;break;case!!((n=t.target.parentElement)!=null&&n.dataset.topPopup):e=t.target.parentElement;break;case!!((r=(i=t.target.parentElement)==null?void 0:i.parentElement)!=null&&r.dataset.topPopup):e=(c=t.target.parentElement)==null?void 0:c.parentElement;break}e&&(e.dataset.topPopupDisabled||e.dataset.topPopupOpened||(t.preventDefault(),await d.TopPopupWorker.openByOpener(e)))}}const L={mounted:function(s,t){t.value.disabled||s.focus()}};let u;const O={mounted(s,t,e){const o=t.value||"top-sticky";u=new IntersectionObserver(n=>{let i=n[0].intersectionRatio<1;i&&t.modifiers.bottom&&n[0].intersectionRect.y===0&&(i=!1),s.classList.toggle(o,i)},{threshold:[1]}),u.observe(s)},unmounted(s,t,e){u==null||u.disconnect()}};let E=!1,h;const m=new Map,y=(s,t)=>{const{distance:e,percent:o}=s.directiveSwipUpOptions,n=s.getBoundingClientRect().top,i=t*o/100/e,r=(t-n)/i;r<=e?s.style.transform=`translateY(${e-r}px)`:s.style.transform="translateY(0px)"},C=s=>{let t=window.innerHeight;window.addEventListener("scroll",()=>{m.forEach(e=>y(e,t))},{passive:!0}),h=new IntersectionObserver(e=>{t=window.innerHeight,e.forEach(o=>{const n=o.target;if(o.intersectionRatio<.1?m.delete(n):m.set(n,n),o.intersectionRatio===0){const{distance:i}=n.directiveSwipUpOptions;n.style.transform=`translateY(${i}px)`}})},{threshold:.1})},H={mounted(s,t,e){var o,n;a.Core.state.isMobileUA||(s.directiveSwipUpOptions={distance:((o=t.value)==null?void 0:o.distance)??100,percent:((n=t.value)==null?void 0:n.percent)??30},E||(C(),E=!0),h.observe(s))},unmounted(s,t,e){m.delete(s),h==null||h.unobserve(s)}},T=s=>{var t,e;if(!((e=(t=a.Core.$)==null?void 0:t.ui)!=null&&e.tooltip)){console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");return}return a.Core.$(s)},v=(s,t)=>{var o;const e=s.value??{};return e.content??=(o=t.props)==null?void 0:o.title,e.content=String(e.content).replace(/\r\n|\r|\n/g,"<br>"),e.position??={my:"bottom-18px",at:"top center"},e},M={mounted(s,t,e){var o;(o=T(s))==null||o.tooltip(v(t,e))},updated(s,t,e,o){var r;const n=v(t,e),i=(r=T(s))==null?void 0:r.tooltip("instance");i&&(i.options={...i.options,...n})},unmounted(s,t,e){var o;(o=T(s))==null||o.tooltip("destroy")}},N={install:(s,t)=>{s.config.globalProperties.$core=a.Core;for(const e in t)a.Core.state[e]=t[e];a.Core._setState(),t.topPopupOptions&&(d.TopPopupWorker.options=t.topPopupOptions),I.init(),s.directive("top-focus",L),s.directive("top-sticky",O),s.directive("top-swim-up",H),s.directive("top-tooltip",M),s.component("TopAvatar",a.TopAvatar),s.component("TopButton",a.TopButton$1),s.component("TopCheckbox",a.TopCheckbox),s.component("TopControlLabel",a.TopControlLabel),s.component("TopHint",a.TopHint$1),s.component("TopInput",a.TopInput),s.component("TopInputDate",a.TopInputDate),s.component("TopInputRange",a.TopInputRange),s.component("TopLoadbar",a.TopLoadbar),s.component("TopRadio",a.TopRadio),s.component("TopSelect",a.TopSelect),s.component("TopSwitcher",a.TopSwitcher),s.component("TopTextarea",a.TopTextarea)}};class R{#e;#t;#o;#n;#p;#s=[];#i=[];#d=[];#a=[];constructor(t){var o;this.#t=t.store,this.#e=this.#t.$id,this.#o=t.options.Page,this.#n=t.options.user,this.#p=t.options.Api,this.#s=t.options.tpaNamesUrlHash||[],this.#i=t.options.tpaNamesStorage||[],this.#d=t.options.tpaNamesStorageLocal||[],this.#a=t.options.tpaNamesGuestLink||[],t.store.genGuestLink=(n,i)=>this.genGuestLink(n,i),(o=this.#n.guest_data)!=null&&o.data||(this.#l(),this.#l(!0),this.#g()),this.#T(),this.#b();const e=S.debounce(()=>{this.#f(),this.#m()});t.store.$subscribe(e)}async genGuestLink(t,e){const o=this.#u();e=Object.assign(e,Object.fromEntries(o));const n=await this.#p.gen(t,"fetchColumn").call({},e);n!=null&&n.errors||(await k.setClipboard(n.result),window.requirejs&&window.requirejs(["es6!@/component/utils/info.ts"],({showInfo:i})=>{i("Гостевая ссылка скопирована в буфер обмена"+': <a href="'+n.result+'" target="_blank">'+n.result+"</a>",n.result,3)}))}#u(){const t=new Map;return this.#a.forEach(e=>{const o=P.camelToSnakeCase(e);t.set(o,this.#t[e])}),t}#r(t){if(Object.isFrozen(this))throw"Please, use setOptions only inner commit function";t.forEach((e,o)=>{const n=this.#t[o];if(e!=null&&e!=null&&e.constructor&&e.constructor===n.constructor){if(o.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[o]=e}})}#h(t){const e=new Map;return t.forEach((o,n)=>{o!==null&&(o=JSON.stringify(o),e.set(n,o))}),e}#c(t){const e=new Map;return t.forEach((o,n)=>{if(!(o==null||o==="false")){try{if(typeof o=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(o)&&(o=JSON.parse(o)),o==null||o==="false")return}catch{}e.set(n,o)}}),e}#g(){let t;try{t=JSON.parse(w.getHash(this.#e))}catch{}if(!t)return;const e=new Map;this.#s.forEach(n=>{const i=t[n];i&&e.set(n,i)});const o=this.#c(e);this.#r(o)}#f(){const t=new Map;this.#s.forEach(n=>{const i=this.#t[n];t.set(n,i)});const e=Object.fromEntries(t),o=JSON.stringify(e);w.setHash(this.#e,o)}#l(t=!1){const e=new Map;let o="state:"+this.#e;t&&(o="state:"+this.#e+":"+location.pathname),this.#i.forEach(i=>{const r=localStorage.getItem(o+":"+i);e.set(i,r)});const n=this.#c(e);this.#r(n)}#m(t=!1){const e=new Map;let o=this.#i,n="state:"+this.#e;t&&(o=this.#d,n="state:"+this.#e+":"+location.pathname),o.forEach(r=>{const c=this.#t[r];e.set(r,c)});const i=this.#h(e);o.forEach(r=>{const c=i.get(r);localStorage.setItem(n+":"+r,c)})}#T(){var i,r,c;const t=(r=(i=this.#n)==null?void 0:i.guest_data)==null?void 0:r.data;if(!t)return;this.#n.id===-1&&(this.#n.positionsReverseDates=t.positionsReverseDates);const e=new Map;this.#a.forEach(l=>{const b=t[l];e.set(l,b)});const o=this.#c(e);this.#r(o);const n=$(".mod_guest_title");if(((c=this.#t.competitorsIds)==null?void 0:c.length)===1&&this.#o.page.data.competitors){let l=this.#o.page.data.competitors.filter(b=>b.id===t.competitorsIds[0]);l.length&&($("a",n).attr("href","http://"+l[0].url),$("a",n).text(l[0].name))}}#b(){this.#t.regionsIndexes&&f.watch(this.#t,t=>{if(!t.length)return;t.forEach((n,i)=>t[i]=n);const e=TplProjectSelectorRegion.genSearchersMap(),o=[];e.forEach(n=>{n.regions.forEach(i=>{i.index!==-1&&o.push(i.index)})}),this.#t.regionsIndexes=t.filter(n=>o.includes(n))},{immediate:!0}),this.#t.competitorsIds&&f.watch(this.#t,t=>{if(!t.length)return;t.forEach((o,n)=>o[n]=o);const e=[this.#o.page.data.project.id];this.#o.page.data.project.competitors.forEach(o=>{o.on>=0&&e.push(o.id)}),this.#t.competitorsIds=t.filter(o=>e.includes(o))})}}const U=s=>{var e,o,n,i;const t=s;!((e=t.options.tpaNamesUrlHash)!=null&&e.length)&&!((o=t.options.tpaNamesStorage)!=null&&o.length)&&!((n=t.options.tpaNamesStorageLocal)!=null&&n.length)&&!((i=t.options.tpaNamesGuestLink)!=null&&i.length)||new R(t)};p.Core=a.Core,p.i18nPlugin=g.i18n,p.useI18n=g.useI18n,p.useI18nLang=g.useI18nLang,p.useI18nSetLang=g.useI18nSetLang,p.corePlugin=N,p.piniaTPAPlugin=U,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=app.amd.js.map
|
package/core/app.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.amd.js","sources":["../../src/components/popup/lib/worker.globalEvents.ts","../../src/core/directives/focus.ts","../../src/core/directives/sticky.ts","../../src/core/directives/swimUp.ts","../../src/core/directives/tooltip.ts","../../src/core/plugins/core.ts","../../src/core/plugins/piniaTPA.ts"],"sourcesContent":["import Core from '@/core/core/core';\nimport Events from '@/core/core/events';\nimport Worker from '@/components/popup/lib/worker';\n\n/**\n * Глобальные события, для реализации Popup\n */\nclass WorkerEvents {\n\n\tprivate static isInited = false;\n\n\t/**\n\t * Добавить глобальные обработчики\n\t *\n\t * Добавляются на страницу один раз и навсегда\n\t */\n\tstatic init(): void {\n\t\tif (this.isInited) return;\n\n\t\tthis.isInited = true;\n\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\n\t\tdocument.addEventListener('mouseover', (e) => {\n\t\t\tif (!(e.target instanceof HTMLElement) || !e.target.dataset?.topPopupOpenByHover) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.target.click();\n\t\t});\n\n\t\t// при скролле страницы закрыть Popup\n\t\tdocument.addEventListener('scroll', () => {\n\t\t\tif (Core.state.isMobile || Core.state.isMobileUA) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t});\n\n\t\tEvents.addOnReize(e => {\n\t\t\t// закрыть popup при повороте экрана телефона\n\t\t\t// если была отображена ПК версия, она будет закрыта\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t\t}\n\t\t});\n\n\t\tdocument.addEventListener('click', this.onclick);\n\t}\n\n\t/**\n\t * Глобальный обработчик кликов\n\t *\n\t * Обрабатывает клики на открытие Popup\n\t */\n\tprivate static async onclick(e: Event): Promise<void> {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tlet elOpener: HTMLElement | null | undefined;\n\n\t\tswitch (true) {\n\t\t\tcase !!e.target.dataset?.topPopup:\n\t\t\t\telOpener = e.target;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement?.parentElement;\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!elOpener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// меню уже открыто\n\t\tif (elOpener.dataset.topPopupOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tawait Worker.openByOpener(elOpener);\n\t}\n}\n\nexport default WorkerEvents;\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\n\n/**\n * Фокусировка на элементе сразу после его отображения\n */\nconst focus = {\n\tmounted: function (el: HTMLElement, binding: DirectiveBinding) {\n\t\tif (!binding.value.disabled) el.focus();\n\t},\n} satisfies ObjectDirective;\n\nexport default focus;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\n\nlet appStickyObserver: IntersectionObserver;\n\n/**\n * Добавление sticky\n * К элементу добляется класс переданный как значение диррективы либо **'top-sticky'** по умолчанию\n */\nconst sticky = {\n\tmounted(el: HTMLElement, binding: DirectiveBinding, _vnode: VNode) {\n\t\tconst className = binding.value || 'top-sticky';\n\n\t\tappStickyObserver = new IntersectionObserver(entries => {\n\t\t\tlet condition = entries[0].intersectionRatio < 1;\n\t\t\tif (condition) {\n\t\t\t\tif (binding.modifiers.bottom && entries[0].intersectionRect.y === 0) condition = false;\n\t\t\t}\n\n\t\t\tel.classList.toggle(className, condition);\n\t\t}, {\n\t\t\tthreshold: [1],\n\t\t});\n\n\t\tappStickyObserver.observe(el);\n\t},\n\n\tunmounted(_el: HTMLElement, _binding: DirectiveBinding, _vnode: VNode) {\n\t\tappStickyObserver?.disconnect();\n\t},\n} satisfies ObjectDirective;\n\nexport default sticky;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\nimport Core from '@/core/core/core';\n\ninterface HTMLElementWithSwimUpOptions extends HTMLElement {\n\tdirectiveSwipUpOptions: {\n\t\tdistance: number,\n\t\tpercent: number,\n\t};\n}\n\nlet appSwimUpInited = false;\nlet appSwimUpObserver: IntersectionObserver;\nconst appSwimUpEls = new Map();\n\n/**\n * Отодвинуть блок в зависимости от скролла старинцы\n * @param el\n * @param windowHeight\n */\nconst swimUpElTransform = (el: HTMLElementWithSwimUpOptions, windowHeight: number): void => {\n\tconst { distance, percent } = el.directiveSwipUpOptions;\n\n\tconst elTop = el.getBoundingClientRect().top;\n\n\t// во столько раз triggerHeight должен быть меньше, чтобы закончить подплытие к нужной высоте экрана\n\tconst triggerHeightReducer = windowHeight * percent / 100 / distance;\n\tconst triggerHeight = (windowHeight - elTop) / triggerHeightReducer;\n\n\tif (triggerHeight <= distance) {\n\t\tel.style.transform = `translateY(${distance - triggerHeight}px)`;\n\t} else {\n\t\tel.style.transform = 'translateY(0px)';\n\t}\n};\n\nconst swimUpInit = (_el: HTMLElementWithSwimUpOptions): void => {\n\tlet windowHeight = window.innerHeight;\n\n\twindow.addEventListener('scroll', () => {\n\t\tappSwimUpEls.forEach((el) => swimUpElTransform(el, windowHeight));\n\t}, { passive: true });\n\n\t// проверка того, что элемент в зоне видимости\n\tappSwimUpObserver = new IntersectionObserver(entries => {\n\t\twindowHeight = window.innerHeight;\n\n\t\tentries.forEach((entry) => {\n\t\t\tconst el = entry.target as HTMLElementWithSwimUpOptions;\n\n\t\t\tif (entry.intersectionRatio < 0.1) {\n\t\t\t\t// элемент за областью видимости\n\t\t\t\tappSwimUpEls.delete(el);\n\t\t\t} else {\n\t\t\t\t// элемент на экране\n\t\t\t\tappSwimUpEls.set(el, el);\n\t\t\t}\n\n\t\t\tif (entry.intersectionRatio === 0) {\n\t\t\t\tconst { distance } = el.directiveSwipUpOptions;\n\t\t\t\tel.style.transform = `translateY(${distance}px)`;\n\t\t\t}\n\t\t});\n\t}, {\n\t\tthreshold: 0.1,\n\t});\n};\n\n/**\n * Добавление анимации подплытия вверх для блока\n */\nconst swimUp = {\n\tmounted(el: HTMLElementWithSwimUpOptions, binding: DirectiveBinding, _vnode: VNode): void {\n\t\tif (Core.state.isMobileUA) return;\n\n\t\tel.directiveSwipUpOptions = {\n\t\t\tdistance: binding.value?.distance ?? 100, // количество px на которые блок изначально смещен вниз,\n\t\t\tpercent: binding.value?.percent ?? 30, // процент высоты экрана поднявшись на который блок закончит подплытие\n\t\t};\n\n\t\tif (!appSwimUpInited) {\n\t\t\tswimUpInit(el);\n\n\t\t\tappSwimUpInited = true;\n\t\t}\n\n\t\tappSwimUpObserver.observe(el);\n\t},\n\n\tunmounted(el: HTMLElementWithSwimUpOptions, _binding: DirectiveBinding, _vnode: VNode) {\n\t\tappSwimUpEls.delete(el);\n\t\tappSwimUpObserver?.unobserve(el);\n\t},\n} satisfies ObjectDirective;\n\nexport default swimUp;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\nimport Core from '@/core/core/core';\n\nconst $ = (el: VNode) => {\n\tif (!Core.$?.ui?.tooltip) {\n\t\tconsole.info('Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip');\n\n\t\treturn;\n\t}\n\n\treturn Core.$(el);\n};\n\nconst tvTooltipGenOptions = (binding: DirectiveBinding, vnode: VNode) => {\n\tconst options = binding.value ?? {};\n\n\toptions.content ??= vnode.props?.title;\n\toptions.content = String(options.content).replace(/\\r\\n|\\r|\\n/g, '<br>');\n\n\toptions.position ??= {\n\t\tmy: 'bottom-18px',\n\t\tat: 'top center',\n\t};\n\n\treturn options;\n};\n\n/**\n * Добавление всплывающей подсказки к элементу.\n */\nconst tooltip = {\n\tmounted(el: VNode, binding: DirectiveBinding, vnode: VNode) {\n\t\t$(el)?.tooltip(tvTooltipGenOptions(binding, vnode));\n\t},\n\n\tupdated(el: VNode, binding: DirectiveBinding, vnode: VNode, _prevVnode: VNode) {\n\t\t/**\n\t\t * В результате обновления может быть открыто несколько тултипов поэтому изменить опции, без перерисовки тултипа\n\t\t */\n\t\tconst options = tvTooltipGenOptions(binding, vnode);\n\t\tconst instance = $(el)?.tooltip('instance') as { options: JQueryUI.TooltipOptions } | undefined;\n\t\tif (!instance) {\n\t\t\treturn;\n\t\t}\n\n\t\tinstance.options = {\n\t\t\t...instance.options,\n\t\t\t...options,\n\t\t};\n\t},\n\n\tunmounted(el: VNode, _binding: DirectiveBinding, _vnode: VNode) {\n\t\t$(el)?.tooltip('destroy');\n\t},\n} satisfies ObjectDirective;\n\nexport default tooltip;","import type { Plugin } from 'vue';\nimport type { Options as TopPopupOptions } from '@/components/popup/lib/worker';\nimport TopPopupWorker from '@/components/popup/lib/worker';\nimport TopPopupWorkerGlobalEvents from '@/components/popup/lib/worker.globalEvents';\nimport Core from '@/core/core/core';\nimport coreDefaultOptions from '@/core/core/options';\nimport * as Forms from '../../components/forms/forms';\nimport directiveFocus from '@/core/directives/focus';\nimport directiveSticky from '@/core/directives/sticky';\nimport directiveSwimUp from '@/core/directives/swimUp';\nimport directiveTooltip from '@/core/directives/tooltip';\n\ndeclare module 'vue' {\n\texport interface ComponentCustomProperties {\n\t\t/**\n\t\t * Статический класс с текущим состоянимем UI\n\t\t */\n\t\t$core: typeof Core;\n\t}\n\n\t/**\n\t * Обязательные компоненты UI\n\t *\n\t * Они подключаются через плагин и доступны без явного указания импорта\n\t */\n\texport interface GlobalComponents {\n\t\tTopAvatar: typeof Forms.TopAvatar;\n\t\tTopButton: typeof Forms.TopButton;\n\t\tTopCheckbox: typeof Forms.TopCheckbox;\n\t\tTopControlLabel: typeof Forms.TopControlLabel;\n\t\tTopHint: typeof Forms.TopHint;\n\t\tTopInput: typeof Forms.TopInput;\n\t\tTopInputDate: typeof Forms.TopInputDate;\n\t\tTopInputRange: typeof Forms.TopInputRange;\n\t\tTopRadio: typeof Forms.TopRadio;\n\t\tTopSwitcher: typeof Forms.TopSwitcher;\n\t\tTopTextarea: typeof Forms.TopTextarea;\n\t\tTopSelect: typeof Forms.TopSelect;\n\t\tTopLoadbar: typeof Forms.TopLoadbar;\n\t}\n}\n\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\ntype Options = PartialBy<typeof coreDefaultOptions, 'gmt'> & { topPopupOptions?: TopPopupOptions };\n\n/**\n * Плагин для интеграции UI во Vue приложение\n *\n * - В глобальную область видимости шаблонов будет добавлен объект $core\n * - Будут зарегистрирвоаны директивы UI: https://ui.topvisor.com/?path=/docs/core-directives-focus--docs\n * - Будут подключены базовые компоненты UI/Forms: https://ui.topvisor.com/?path=/docs/components-forms-readme--docs\n */\nexport default {\n\n\tinstall: (app, options: Options) => {\n\t\tapp.config.globalProperties.$core = Core;\n\n\t\t// начальные настройки UI\n\t\tfor (const name in options) {\n\t\t\tCore.state[name] = options[name];\n\t\t}\n\n\t\tCore._setState();\n\n\t\tif (options.topPopupOptions) TopPopupWorker.options = options.topPopupOptions;\n\t\tTopPopupWorkerGlobalEvents.init();\n\n\t\t// определение директив\n\t\tapp.directive('top-focus', directiveFocus);\n\t\tapp.directive('top-sticky', directiveSticky);\n\t\tapp.directive('top-swim-up', directiveSwimUp);\n\t\tapp.directive('top-tooltip', directiveTooltip);\n\n\t\t// определение базовых компонентов\n\t\tapp.component('TopAvatar', Forms.TopAvatar);\n\t\tapp.component('TopButton', Forms.TopButton);\n\t\tapp.component('TopCheckbox', Forms.TopCheckbox);\n\t\tapp.component('TopControlLabel', Forms.TopControlLabel);\n\t\tapp.component('TopHint', Forms.TopHint);\n\t\tapp.component('TopInput', Forms.TopInput);\n\t\tapp.component('TopInputDate', Forms.TopInputDate);\n\t\tapp.component('TopInputRange', Forms.TopInputRange);\n\t\tapp.component('TopLoadbar', Forms.TopLoadbar);\n\t\tapp.component('TopRadio', Forms.TopRadio);\n\t\tapp.component('TopSelect', Forms.TopSelect);\n\t\tapp.component('TopSwitcher', Forms.TopSwitcher);\n\t\tapp.component('TopTextarea', Forms.TopTextarea);\n\n\t},\n\n} satisfies Plugin<Options>;\n","import type { PiniaPluginContext, Store } from 'pinia';\nimport { watch } from 'vue';\nimport { debounce } from '@/core/utils/lodash';\nimport { setClipboard } from '@/core/utils/clipboard';\nimport { camelToSnakeCase } from '@/core/utils/string.js';\nimport type { paths as OpenAPIPaths } from 'topvisor-openapi/src/ts/Topvisor';\nimport { getHash, setHash } from '@/core/utils/route';\n\ntype OpenAPIPath = keyof OpenAPIPaths;\n\nclass PiniaTPA {\n\n\treadonly #storeId: string;\n\treadonly #store: Store<'test', any>;\n\n\t/**\n\t * @deprecated\n\t */\n\treadonly #Page: any;\n\n\treadonly #user: any;\n\treadonly #Api: any;\n\n\treadonly #namesUrlHash: string[] = [];\n\treadonly #namesStorage: string[] = [];\n\treadonly #namesStorageLocal: string[] = [];\n\treadonly #namesGuestLink: string[] = [];\n\n\tconstructor(context: Context) {\n\t\tthis.#store = context.store;\n\t\tthis.#storeId = this.#store.$id;\n\n\t\tthis.#Page = context.options.Page;\n\n\t\tthis.#user = context.options.user;\n\t\tthis.#Api = context.options.Api;\n\n\t\tthis.#namesUrlHash = context.options.tpaNamesUrlHash || [];\n\t\tthis.#namesStorage = context.options.tpaNamesStorage || [];\n\t\tthis.#namesStorageLocal = context.options.tpaNamesStorageLocal || [];\n\t\tthis.#namesGuestLink = context.options.tpaNamesGuestLink || [];\n\n\t\tcontext.store.genGuestLink = <Path extends OpenAPIPath>(url: Path, data: any) => this.genGuestLink(url, data);\n\n\t\tif (!this.#user.guest_data?.data) {\n\t\t\tthis.#loadFromStorage();\n\t\t\tthis.#loadFromStorage(true);\n\n\t\t\t// настройки URL hash имеют приоритет\n\t\t\tthis.#loadFromHash();\n\t\t}\n\n\t\t// настройки гостевой ссылки имеют приоритет\n\t\tthis.#loadFromGuestLink();\n\n\t\tthis.#prepareParams();\n\n\t\tconst save = debounce(() => {\n\t\t\tthis.#saveInHash();\n\t\t\tthis.#saveInStorage();\n\t\t});\n\n\t\tcontext.store.$subscribe(save);\n\t}\n\n\t/**\n\t * Сгенерировать гостевую ссылку\n\t *\n\t * Метод, путь к которому указан в url, должен возвращать сгенерированную ссылку\n\t */\n\tasync genGuestLink<Path extends OpenAPIPath>(url: Path, data: any) {\n\t\tconst dataGuestLink = this.#genOptionsForGuestLink();\n\t\tdata = Object.assign(data, Object.fromEntries(dataGuestLink));\n\n\t\tconst res = await this.#Api.gen(url, 'fetchColumn').call({} as any, data);\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tif (res?.errors) return;\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tawait setClipboard(res.result);\n\n\t\t// TODO: Оформить через компонент messages\n\t\t// TODO: Добавить в словарь Guest_link_copied_to_clipboard\n\t\tif (!window['requirejs']) return;\n\t\twindow['requirejs'](['es6!@/component/utils/info.ts'], ({ showInfo }) => {\n\t\t\tconst message = 'Гостевая ссылка скопирована в буфер обмена';\n\t\t\t// const message = useI18n().Common.Guest_link_copied_to_clipboard;\n\n\t\t\tshowInfo(message + ': <a href=\"' + res.result + '\" target=\"_blank\">' + res.result + '</a>', res.result, 3);\n\t\t});\n\t}\n\n\t/**\n\t * Сгенерировать опции для гостевой ссылки\n\t */\n\t#genOptionsForGuestLink() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesGuestLink.forEach(name => {\n\t\t\t// формат параметров API: snake_case\n\t\t\tconst nameSnakeCase = camelToSnakeCase(name);\n\t\t\tdata.set(nameSnakeCase, this.#store[name]);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из объекта без фиксации состояния\n\t */\n\t#setOptions(data: Map<string, any>) {\n\t\tif (Object.isFrozen(this)) throw 'Please, use setOptions only inner commit function';\n\n\t\tdata.forEach((value, name) => {\n\t\t\tconst currentValue = this.#store[name];\n\n\t\t\tif (value === null || value === undefined) return;\n\t\t\tif (!value?.constructor) return;\n\t\t\tif (value.constructor !== currentValue.constructor) return;\n\n\t\t\t// дополнительная проверка на формат даты\n\t\t\tif (name.indexOf('date') === 0) {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\t// value.forEach((valueI) => {\n\t\t\t\t\t// \tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(valueI)) return;\n\t\t\t\t\t// });\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof (value) === 'string') {\n\t\t\t\t\t\tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(value)) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.#store[name] = value;\n\t\t});\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в виде json строк\n\t */\n\t#genDataFormat(data: Map<string, any>) {\n\t\tconst dataFormatted = new Map();\n\n\t\tdata.forEach((value, name) => {\n\t\t\tif (value === null) return;\n\n\t\t\tvalue = JSON.stringify(value);\n\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\treturn dataFormatted;\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в оригинальном виде\n\t */\n\t#genDataUnFormat(dataFormatted: Map<string, string>) {\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tdataFormatted.forEach((value, name) => {\n\t\t\tif (value === null || value === undefined || value === 'false') return;\n\n\t\t\ttry {\n\t\t\t\tif (typeof (value) === 'string' && !/^\\d\\d\\d\\d-\\d\\d-\\d\\d$/.test(value)) value = JSON.parse(value);\n\n\t\t\t\tif (value === null || value === undefined || value === 'false') return;\n\t\t\t} catch (e) {\n\t\t\t\t// не json строка\n\t\t\t}\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из хеша адреса страницы\n\t */\n\t#loadFromHash() {\n\t\tlet dataHash: any;\n\t\ttry {\n\t\t\tdataHash = JSON.parse(getHash(this.#storeId));\n\t\t} catch (e) {\n\n\t\t}\n\t\tif (!dataHash) return;\n\n\t\tconst dataFormatted: Map<string, any> = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = dataHash[name];\n\t\t\tif (!value) return;\n\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в хеш адреса страницы\n\t */\n\t#saveInHash() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataObject = Object.fromEntries(data);\n\t\tconst dataJSON = JSON.stringify(dataObject);\n\n\t\tsetHash(this.#storeId, dataJSON);\n\t};\n\n\t/**\n\t * Установить опции из localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#loadFromStorage(isLocal = false) {\n\t\tconst dataFormatted = new Map();\n\n\t\t// let names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\t// names = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tthis.#namesStorage.forEach((name) => {\n\t\t\tconst value = localStorage.getItem(storageNamespace + ':' + name);\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#saveInStorage(isLocal = false) {\n\t\tconst data = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataFormatted = this.#genDataFormat(data);\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = dataFormatted.get(name);\n\n\t\t\tlocalStorage.setItem(storageNamespace + ':' + name, value);\n\t\t});\n\t}\n\n\t/**\n\t * Установить опции из гостевой ссылки\n\t */\n\t#loadFromGuestLink() {\n\t\tconst guestData = this.#user?.guest_data?.data;\n\t\tif (!guestData) return;\n\n\t\t// общие правила для гостевых сессий\n\t\tif (this.#user.id === -1) this.#user.positionsReverseDates = guestData.positionsReverseDates;\n\n\t\tconst dataFormatted = new Map();\n\n\t\tthis.#namesGuestLink.forEach((name) => {\n\t\t\tconst value = guestData[name];\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\n\t\tconst $guestTitle = $('.mod_guest_title');\n\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds?.length === 1 && this.#Page.page.data.competitors) {\n\t\t\tlet competitors = this.#Page.page.data.competitors.filter((competitor: any) => competitor.id === guestData.competitorsIds[0]);\n\t\t\tif (competitors.length) {\n\t\t\t\t$('a', $guestTitle).attr('href', 'http://' + competitors[0].url);\n\t\t\t\t$('a', $guestTitle).text(competitors[0].name);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Подготовить входные параметры перед инициализацией основного функционала\n\t *\n\t * Входные параметры устанавливаются при открытии страницы\n\t *\n\t * Входные параметры могут меняться пользоваталем и устаревать\n\t */\n\t#prepareParams() {\n\t\t// контролль за вводом регионов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.regionsIndexes) {\n\t\t\twatch(this.#store, (regionsIndexes) => {\n\t\t\t\tif (!regionsIndexes.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tregionsIndexes.forEach((regionIndex: number, index: number) => regionsIndexes[index] = regionIndex);\n\n\t\t\t\t// оставить только включенные регионы\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst mapSearchers = TplProjectSelectorRegion.genSearchersMap();\n\n\t\t\t\tconst availableRegionsIndexes: number[] = [];\n\t\t\t\tmapSearchers.forEach((searcher: any) => {\n\t\t\t\t\tsearcher.regions.forEach((region: any) => {\n\t\t\t\t\t\tif (region.index === -1) return;\n\n\t\t\t\t\t\tavailableRegionsIndexes.push(region.index);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.#store.regionsIndexes = regionsIndexes.filter((regionIndex: number) => availableRegionsIndexes.includes(regionIndex));\n\t\t\t}, { immediate: true });\n\t\t}\n\n\t\t// контролль за вводом конкурентов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds) {\n\t\t\twatch(this.#store, (competitorsIds) => {\n\t\t\t\tif (!competitorsIds.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tcompetitorsIds.forEach((competitorId: number, index: number) => competitorId[index] = competitorId);\n\n\t\t\t\t// оставить только включенных конкурентов\n\t\t\t\tconst availableCompetitorsIds = [this.#Page.page.data.project.id];\n\t\t\t\tthis.#Page.page.data.project.competitors.forEach((competitor: any) => {\n\t\t\t\t\tif (competitor.on >= 0) availableCompetitorsIds.push(competitor.id);\n\t\t\t\t});\n\n\t\t\t\tthis.#store.competitorsIds = competitorsIds.filter((competitorId: number) => availableCompetitorsIds.includes(competitorId));\n\t\t\t});\n\t\t}\n\t}\n\n}\n\ntype Options = {\n\t/**\n\t * TODO: Убрать из плагина\n\t */\n\tPage: any,\n\n\t/**\n\t * Объект с настройками пользователя\n\t */\n\tuser: any,\n\n\t/**\n\t * Объект для работы с API\n\t *\n\t * См. на айте: @/component/api/core/api.ts\n\t */\n\tApi: any;\n\n\t/**\n\t * Имена свойств для сохранения в URL\n\t */\n\ttpaNamesUrlHash?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage\n\t */\n\ttpaNamesStorage?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage с учетом пути URL\n\t *\n\t * Каждый URL будет работать со своим состоянием\n\t */\n\ttpaNamesStorageLocal?: string[],\n\n\t/**\n\t * Имена свойств для работы с гостевой ссылкой\n\t *\n\t * Для генерации гостевой ссылки используйте store.genGuestLink(data, url)\n\t */\n\ttpaNamesGuestLink?: string[],\n};\n\ntype Context = PiniaPluginContext & {\n\toptions: Options\n};\n\n/**\n * Плагин tpa (Third-party access) для pinia\n *\n * Добавляет возможность сохранять и загружать данные в/из:\n * \t- URL hash в адресе страницы\n * \t- localStorage\n * \t- гостевая ссылка\n *\n * Для подключения плагина нужно указань одну или несколько опций при определении defineStore():\n * - tpaNamesUrlHash\n * - tpaNamesStorage\n * - tpaNamesStorageLocal\n * - tpaNamesGuestLink\n */\nexport default (contextPinia: PiniaPluginContext) => {\n\tconst context = contextPinia as Context;\n\n\t// плагин подключать не нужно\n\tif (\n\t\t!context.options.tpaNamesUrlHash?.length &&\n\t\t!context.options.tpaNamesStorage?.length &&\n\t\t!context.options.tpaNamesStorageLocal?.length &&\n\t\t!context.options.tpaNamesGuestLink?.length\n\t) {\n\t\treturn;\n\t}\n\n\tnew PiniaTPA(context);\n}\n"],"names":["WorkerEvents","e","_a","forms","popup_worker","elPopup","elOpener","_d","_c","focus","el","binding","appStickyObserver","sticky","_vnode","entries","_el","_binding","appSwimUpObserver","appSwimUpEls","swimUpElTransform","windowHeight","triggerHeight","distance","swimUpInit","entry","swimUp","$$1","tvTooltipGenOptions","vnode","options","tooltip","instance","core","app","name","PiniaTPA","#storeId","#store","#Page","#user","#Api","context","url","data","#loadFromStorage","#loadFromHash","#loadFromGuestLink","#prepareParams","save","debounce","#saveInHash","#saveInStorage","dataGuestLink","#genOptionsForGuestLink","res","utils_clipboard","showInfo","nameSnakeCase","utils_string","value","dataFormatted","dataHash","utils_route","#setOptions","isLocal","storageNamespace","names","#namesStorage","#namesStorageLocal","guestData","$guestTitle","competitors","competitor","regionsIndexes","regionIndex","index","mapSearchers","availableRegionsIndexes","searcher","competitorsIds","competitorId","availableCompetitorsIds","piniaTPA","contextPinia","_b"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.amd.js","sources":["../../src/components/popup/lib/worker.globalEvents.ts","../../src/core/directives/focus.ts","../../src/core/directives/sticky.ts","../../src/core/directives/swimUp.ts","../../src/core/directives/tooltip.ts","../../src/core/plugins/core.ts","../../src/core/plugins/piniaTPA.ts"],"sourcesContent":["import Core from '@/core/core/core';\r\nimport Events from '@/core/core/events';\r\nimport Worker from '@/components/popup/lib/worker';\r\n\r\n/**\r\n * Глобальные события, для реализации Popup\r\n */\r\nclass WorkerEvents {\r\n\r\n\tprivate static isInited = false;\r\n\r\n\t/**\r\n\t * Добавить глобальные обработчики\r\n\t *\r\n\t * Добавляются на страницу один раз и навсегда\r\n\t */\r\n\tstatic init(): void {\r\n\t\tif (this.isInited) return;\r\n\r\n\t\tthis.isInited = true;\r\n\r\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\r\n\t\tdocument.addEventListener('mouseover', (e) => {\r\n\t\t\tif (!(e.target instanceof HTMLElement) || !e.target.dataset?.topPopupOpenByHover) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\te.target.click();\r\n\t\t});\r\n\r\n\t\t// при скролле страницы закрыть Popup\r\n\t\tdocument.addEventListener('scroll', () => {\r\n\t\t\tif (Core.state.isMobile || Core.state.isMobileUA) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\r\n\t\t});\r\n\r\n\t\tEvents.addOnReize(e => {\r\n\t\t\t// закрыть popup при повороте экрана телефона\r\n\t\t\t// если была отображена ПК версия, она будет закрыта\r\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\r\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdocument.addEventListener('click', this.onclick);\r\n\t}\r\n\r\n\t/**\r\n\t * Глобальный обработчик кликов\r\n\t *\r\n\t * Обрабатывает клики на открытие Popup\r\n\t */\r\n\tprivate static async onclick(e: Event): Promise<void> {\r\n\t\tif (!(e.target instanceof HTMLElement)) return;\r\n\r\n\t\tlet elOpener: HTMLElement | null | undefined;\r\n\r\n\t\tswitch (true) {\r\n\t\t\tcase !!e.target.dataset?.topPopup:\r\n\t\t\t\telOpener = e.target;\r\n\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\r\n\t\t\t\telOpener = e.target.parentElement;\r\n\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\r\n\t\t\t\telOpener = e.target.parentElement?.parentElement;\r\n\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (!elOpener) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupDisabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// меню уже открыто\r\n\t\tif (elOpener.dataset.topPopupOpened) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\te.preventDefault();\r\n\r\n\t\tawait Worker.openByOpener(elOpener);\r\n\t}\r\n}\r\n\r\nexport default WorkerEvents;\r\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\r\n\r\n/**\r\n * Фокусировка на элементе сразу после его отображения\r\n */\r\nconst focus = {\r\n\tmounted: function (el: HTMLElement, binding: DirectiveBinding) {\r\n\t\tif (!binding.value.disabled) el.focus();\r\n\t},\r\n} satisfies ObjectDirective;\r\n\r\nexport default focus;\r\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\r\n\r\nlet appStickyObserver: IntersectionObserver;\r\n\r\n/**\r\n * Добавление sticky\r\n * К элементу добляется класс переданный как значение диррективы либо **'top-sticky'** по умолчанию\r\n */\r\nconst sticky = {\r\n\tmounted(el: HTMLElement, binding: DirectiveBinding, _vnode: VNode) {\r\n\t\tconst className = binding.value || 'top-sticky';\r\n\r\n\t\tappStickyObserver = new IntersectionObserver(entries => {\r\n\t\t\tlet condition = entries[0].intersectionRatio < 1;\r\n\t\t\tif (condition) {\r\n\t\t\t\tif (binding.modifiers.bottom && entries[0].intersectionRect.y === 0) condition = false;\r\n\t\t\t}\r\n\r\n\t\t\tel.classList.toggle(className, condition);\r\n\t\t}, {\r\n\t\t\tthreshold: [1],\r\n\t\t});\r\n\r\n\t\tappStickyObserver.observe(el);\r\n\t},\r\n\r\n\tunmounted(_el: HTMLElement, _binding: DirectiveBinding, _vnode: VNode) {\r\n\t\tappStickyObserver?.disconnect();\r\n\t},\r\n} satisfies ObjectDirective;\r\n\r\nexport default sticky;\r\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\r\nimport Core from '@/core/core/core';\r\n\r\ninterface HTMLElementWithSwimUpOptions extends HTMLElement {\r\n\tdirectiveSwipUpOptions: {\r\n\t\tdistance: number,\r\n\t\tpercent: number,\r\n\t};\r\n}\r\n\r\nlet appSwimUpInited = false;\r\nlet appSwimUpObserver: IntersectionObserver;\r\nconst appSwimUpEls = new Map();\r\n\r\n/**\r\n * Отодвинуть блок в зависимости от скролла старинцы\r\n * @param el\r\n * @param windowHeight\r\n */\r\nconst swimUpElTransform = (el: HTMLElementWithSwimUpOptions, windowHeight: number): void => {\r\n\tconst { distance, percent } = el.directiveSwipUpOptions;\r\n\r\n\tconst elTop = el.getBoundingClientRect().top;\r\n\r\n\t// во столько раз triggerHeight должен быть меньше, чтобы закончить подплытие к нужной высоте экрана\r\n\tconst triggerHeightReducer = windowHeight * percent / 100 / distance;\r\n\tconst triggerHeight = (windowHeight - elTop) / triggerHeightReducer;\r\n\r\n\tif (triggerHeight <= distance) {\r\n\t\tel.style.transform = `translateY(${distance - triggerHeight}px)`;\r\n\t} else {\r\n\t\tel.style.transform = 'translateY(0px)';\r\n\t}\r\n};\r\n\r\nconst swimUpInit = (_el: HTMLElementWithSwimUpOptions): void => {\r\n\tlet windowHeight = window.innerHeight;\r\n\r\n\twindow.addEventListener('scroll', () => {\r\n\t\tappSwimUpEls.forEach((el) => swimUpElTransform(el, windowHeight));\r\n\t}, { passive: true });\r\n\r\n\t// проверка того, что элемент в зоне видимости\r\n\tappSwimUpObserver = new IntersectionObserver(entries => {\r\n\t\twindowHeight = window.innerHeight;\r\n\r\n\t\tentries.forEach((entry) => {\r\n\t\t\tconst el = entry.target as HTMLElementWithSwimUpOptions;\r\n\r\n\t\t\tif (entry.intersectionRatio < 0.1) {\r\n\t\t\t\t// элемент за областью видимости\r\n\t\t\t\tappSwimUpEls.delete(el);\r\n\t\t\t} else {\r\n\t\t\t\t// элемент на экране\r\n\t\t\t\tappSwimUpEls.set(el, el);\r\n\t\t\t}\r\n\r\n\t\t\tif (entry.intersectionRatio === 0) {\r\n\t\t\t\tconst { distance } = el.directiveSwipUpOptions;\r\n\t\t\t\tel.style.transform = `translateY(${distance}px)`;\r\n\t\t\t}\r\n\t\t});\r\n\t}, {\r\n\t\tthreshold: 0.1,\r\n\t});\r\n};\r\n\r\n/**\r\n * Добавление анимации подплытия вверх для блока\r\n */\r\nconst swimUp = {\r\n\tmounted(el: HTMLElementWithSwimUpOptions, binding: DirectiveBinding, _vnode: VNode): void {\r\n\t\tif (Core.state.isMobileUA) return;\r\n\r\n\t\tel.directiveSwipUpOptions = {\r\n\t\t\tdistance: binding.value?.distance ?? 100, // количество px на которые блок изначально смещен вниз,\r\n\t\t\tpercent: binding.value?.percent ?? 30, // процент высоты экрана поднявшись на который блок закончит подплытие\r\n\t\t};\r\n\r\n\t\tif (!appSwimUpInited) {\r\n\t\t\tswimUpInit(el);\r\n\r\n\t\t\tappSwimUpInited = true;\r\n\t\t}\r\n\r\n\t\tappSwimUpObserver.observe(el);\r\n\t},\r\n\r\n\tunmounted(el: HTMLElementWithSwimUpOptions, _binding: DirectiveBinding, _vnode: VNode) {\r\n\t\tappSwimUpEls.delete(el);\r\n\t\tappSwimUpObserver?.unobserve(el);\r\n\t},\r\n} satisfies ObjectDirective;\r\n\r\nexport default swimUp;\r\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\r\nimport Core from '@/core/core/core';\r\n\r\nconst $ = (el: VNode) => {\r\n\tif (!Core.$?.ui?.tooltip) {\r\n\t\tconsole.info('Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\treturn Core.$(el);\r\n};\r\n\r\nconst tvTooltipGenOptions = (binding: DirectiveBinding, vnode: VNode) => {\r\n\tconst options = binding.value ?? {};\r\n\r\n\toptions.content ??= vnode.props?.title;\r\n\toptions.content = String(options.content).replace(/\\r\\n|\\r|\\n/g, '<br>');\r\n\r\n\toptions.position ??= {\r\n\t\tmy: 'bottom-18px',\r\n\t\tat: 'top center',\r\n\t};\r\n\r\n\treturn options;\r\n};\r\n\r\n/**\r\n * Добавление всплывающей подсказки к элементу.\r\n */\r\nconst tooltip = {\r\n\tmounted(el: VNode, binding: DirectiveBinding, vnode: VNode) {\r\n\t\t$(el)?.tooltip(tvTooltipGenOptions(binding, vnode));\r\n\t},\r\n\r\n\tupdated(el: VNode, binding: DirectiveBinding, vnode: VNode, _prevVnode: VNode) {\r\n\t\t/**\r\n\t\t * В результате обновления может быть открыто несколько тултипов поэтому изменить опции, без перерисовки тултипа\r\n\t\t */\r\n\t\tconst options = tvTooltipGenOptions(binding, vnode);\r\n\t\tconst instance = $(el)?.tooltip('instance') as { options: JQueryUI.TooltipOptions } | undefined;\r\n\t\tif (!instance) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tinstance.options = {\r\n\t\t\t...instance.options,\r\n\t\t\t...options,\r\n\t\t};\r\n\t},\r\n\r\n\tunmounted(el: VNode, _binding: DirectiveBinding, _vnode: VNode) {\r\n\t\t$(el)?.tooltip('destroy');\r\n\t},\r\n} satisfies ObjectDirective;\r\n\r\nexport default tooltip;","import type { Plugin } from 'vue';\r\nimport type { Options as TopPopupOptions } from '@/components/popup/lib/worker';\r\nimport TopPopupWorker from '@/components/popup/lib/worker';\r\nimport TopPopupWorkerGlobalEvents from '@/components/popup/lib/worker.globalEvents';\r\nimport Core from '@/core/core/core';\r\nimport coreDefaultOptions from '@/core/core/options';\r\nimport * as Forms from '../../components/forms/forms';\r\nimport directiveFocus from '@/core/directives/focus';\r\nimport directiveSticky from '@/core/directives/sticky';\r\nimport directiveSwimUp from '@/core/directives/swimUp';\r\nimport directiveTooltip from '@/core/directives/tooltip';\r\n\r\ndeclare module 'vue' {\r\n\texport interface ComponentCustomProperties {\r\n\t\t/**\r\n\t\t * Статический класс с текущим состоянимем UI\r\n\t\t */\r\n\t\t$core: typeof Core;\r\n\t}\r\n\r\n\t/**\r\n\t * Обязательные компоненты UI\r\n\t *\r\n\t * Они подключаются через плагин и доступны без явного указания импорта\r\n\t */\r\n\texport interface GlobalComponents {\r\n\t\tTopAvatar: typeof Forms.TopAvatar;\r\n\t\tTopButton: typeof Forms.TopButton;\r\n\t\tTopCheckbox: typeof Forms.TopCheckbox;\r\n\t\tTopControlLabel: typeof Forms.TopControlLabel;\r\n\t\tTopHint: typeof Forms.TopHint;\r\n\t\tTopInput: typeof Forms.TopInput;\r\n\t\tTopInputDate: typeof Forms.TopInputDate;\r\n\t\tTopInputRange: typeof Forms.TopInputRange;\r\n\t\tTopRadio: typeof Forms.TopRadio;\r\n\t\tTopSwitcher: typeof Forms.TopSwitcher;\r\n\t\tTopTextarea: typeof Forms.TopTextarea;\r\n\t\tTopSelect: typeof Forms.TopSelect;\r\n\t\tTopLoadbar: typeof Forms.TopLoadbar;\r\n\t}\r\n}\r\n\r\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\r\n\r\ntype Options = PartialBy<typeof coreDefaultOptions, 'gmt'> & { topPopupOptions?: TopPopupOptions };\r\n\r\n/**\r\n * Плагин для интеграции UI во Vue приложение\r\n *\r\n * - В глобальную область видимости шаблонов будет добавлен объект $core\r\n * - Будут зарегистрирвоаны директивы UI: https://ui.topvisor.com/?path=/docs/core-directives-focus--docs\r\n * - Будут подключены базовые компоненты UI/Forms: https://ui.topvisor.com/?path=/docs/components-forms-readme--docs\r\n */\r\nexport default {\r\n\r\n\tinstall: (app, options: Options) => {\r\n\t\tapp.config.globalProperties.$core = Core;\r\n\r\n\t\t// начальные настройки UI\r\n\t\tfor (const name in options) {\r\n\t\t\tCore.state[name] = options[name];\r\n\t\t}\r\n\r\n\t\tCore._setState();\r\n\r\n\t\tif (options.topPopupOptions) TopPopupWorker.options = options.topPopupOptions;\r\n\t\tTopPopupWorkerGlobalEvents.init();\r\n\r\n\t\t// определение директив\r\n\t\tapp.directive('top-focus', directiveFocus);\r\n\t\tapp.directive('top-sticky', directiveSticky);\r\n\t\tapp.directive('top-swim-up', directiveSwimUp);\r\n\t\tapp.directive('top-tooltip', directiveTooltip);\r\n\r\n\t\t// определение базовых компонентов\r\n\t\tapp.component('TopAvatar', Forms.TopAvatar);\r\n\t\tapp.component('TopButton', Forms.TopButton);\r\n\t\tapp.component('TopCheckbox', Forms.TopCheckbox);\r\n\t\tapp.component('TopControlLabel', Forms.TopControlLabel);\r\n\t\tapp.component('TopHint', Forms.TopHint);\r\n\t\tapp.component('TopInput', Forms.TopInput);\r\n\t\tapp.component('TopInputDate', Forms.TopInputDate);\r\n\t\tapp.component('TopInputRange', Forms.TopInputRange);\r\n\t\tapp.component('TopLoadbar', Forms.TopLoadbar);\r\n\t\tapp.component('TopRadio', Forms.TopRadio);\r\n\t\tapp.component('TopSelect', Forms.TopSelect);\r\n\t\tapp.component('TopSwitcher', Forms.TopSwitcher);\r\n\t\tapp.component('TopTextarea', Forms.TopTextarea);\r\n\r\n\t},\r\n\r\n} satisfies Plugin<Options>;\r\n","import type { PiniaPluginContext, Store } from 'pinia';\r\nimport { watch } from 'vue';\r\nimport { debounce } from '@/core/utils/lodash';\r\nimport { setClipboard } from '@/core/utils/clipboard';\r\nimport { camelToSnakeCase } from '@/core/utils/string.js';\r\nimport type { paths as OpenAPIPaths } from 'topvisor-openapi/src/ts/Topvisor';\r\nimport { getHash, setHash } from '@/core/utils/route';\r\n\r\ntype OpenAPIPath = keyof OpenAPIPaths;\r\n\r\nclass PiniaTPA {\r\n\r\n\treadonly #storeId: string;\r\n\treadonly #store: Store<'test', any>;\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t */\r\n\treadonly #Page: any;\r\n\r\n\treadonly #user: any;\r\n\treadonly #Api: any;\r\n\r\n\treadonly #namesUrlHash: string[] = [];\r\n\treadonly #namesStorage: string[] = [];\r\n\treadonly #namesStorageLocal: string[] = [];\r\n\treadonly #namesGuestLink: string[] = [];\r\n\r\n\tconstructor(context: Context) {\r\n\t\tthis.#store = context.store;\r\n\t\tthis.#storeId = this.#store.$id;\r\n\r\n\t\tthis.#Page = context.options.Page;\r\n\r\n\t\tthis.#user = context.options.user;\r\n\t\tthis.#Api = context.options.Api;\r\n\r\n\t\tthis.#namesUrlHash = context.options.tpaNamesUrlHash || [];\r\n\t\tthis.#namesStorage = context.options.tpaNamesStorage || [];\r\n\t\tthis.#namesStorageLocal = context.options.tpaNamesStorageLocal || [];\r\n\t\tthis.#namesGuestLink = context.options.tpaNamesGuestLink || [];\r\n\r\n\t\tcontext.store.genGuestLink = <Path extends OpenAPIPath>(url: Path, data: any) => this.genGuestLink(url, data);\r\n\r\n\t\tif (!this.#user.guest_data?.data) {\r\n\t\t\tthis.#loadFromStorage();\r\n\t\t\tthis.#loadFromStorage(true);\r\n\r\n\t\t\t// настройки URL hash имеют приоритет\r\n\t\t\tthis.#loadFromHash();\r\n\t\t}\r\n\r\n\t\t// настройки гостевой ссылки имеют приоритет\r\n\t\tthis.#loadFromGuestLink();\r\n\r\n\t\tthis.#prepareParams();\r\n\r\n\t\tconst save = debounce(() => {\r\n\t\t\tthis.#saveInHash();\r\n\t\t\tthis.#saveInStorage();\r\n\t\t});\r\n\r\n\t\tcontext.store.$subscribe(save);\r\n\t}\r\n\r\n\t/**\r\n\t * Сгенерировать гостевую ссылку\r\n\t *\r\n\t * Метод, путь к которому указан в url, должен возвращать сгенерированную ссылку\r\n\t */\r\n\tasync genGuestLink<Path extends OpenAPIPath>(url: Path, data: any) {\r\n\t\tconst dataGuestLink = this.#genOptionsForGuestLink();\r\n\t\tdata = Object.assign(data, Object.fromEntries(dataGuestLink));\r\n\r\n\t\tconst res = await this.#Api.gen(url, 'fetchColumn').call({} as any, data);\r\n\r\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\r\n\t\tif (res?.errors) return;\r\n\r\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\r\n\t\tawait setClipboard(res.result);\r\n\r\n\t\t// TODO: Оформить через компонент messages\r\n\t\t// TODO: Добавить в словарь Guest_link_copied_to_clipboard\r\n\t\tif (!window['requirejs']) return;\r\n\t\twindow['requirejs'](['es6!@/component/utils/info.ts'], ({ showInfo }) => {\r\n\t\t\tconst message = 'Гостевая ссылка скопирована в буфер обмена';\r\n\t\t\t// const message = useI18n().Common.Guest_link_copied_to_clipboard;\r\n\r\n\t\t\tshowInfo(message + ': <a href=\"' + res.result + '\" target=\"_blank\">' + res.result + '</a>', res.result, 3);\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Сгенерировать опции для гостевой ссылки\r\n\t */\r\n\t#genOptionsForGuestLink() {\r\n\t\tconst data = new Map();\r\n\r\n\t\tthis.#namesGuestLink.forEach(name => {\r\n\t\t\t// формат параметров API: snake_case\r\n\t\t\tconst nameSnakeCase = camelToSnakeCase(name);\r\n\t\t\tdata.set(nameSnakeCase, this.#store[name]);\r\n\t\t});\r\n\r\n\t\treturn data;\r\n\t}\r\n\r\n\t/**\r\n\t * Установить опции из объекта без фиксации состояния\r\n\t */\r\n\t#setOptions(data: Map<string, any>) {\r\n\t\tif (Object.isFrozen(this)) throw 'Please, use setOptions only inner commit function';\r\n\r\n\t\tdata.forEach((value, name) => {\r\n\t\t\tconst currentValue = this.#store[name];\r\n\r\n\t\t\tif (value === null || value === undefined) return;\r\n\t\t\tif (!value?.constructor) return;\r\n\t\t\tif (value.constructor !== currentValue.constructor) return;\r\n\r\n\t\t\t// дополнительная проверка на формат даты\r\n\t\t\tif (name.indexOf('date') === 0) {\r\n\t\t\t\tif (Array.isArray(value)) {\r\n\t\t\t\t\t// value.forEach((valueI) => {\r\n\t\t\t\t\t// \tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(valueI)) return;\r\n\t\t\t\t\t// });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (typeof (value) === 'string') {\r\n\t\t\t\t\t\tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(value)) return;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.#store[name] = value;\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Сгенерировать Map объект с опциями со значениями в виде json строк\r\n\t */\r\n\t#genDataFormat(data: Map<string, any>) {\r\n\t\tconst dataFormatted = new Map();\r\n\r\n\t\tdata.forEach((value, name) => {\r\n\t\t\tif (value === null) return;\r\n\r\n\t\t\tvalue = JSON.stringify(value);\r\n\r\n\t\t\tdataFormatted.set(name, value);\r\n\t\t});\r\n\r\n\t\treturn dataFormatted;\r\n\t}\r\n\r\n\t/**\r\n\t * Сгенерировать Map объект с опциями со значениями в оригинальном виде\r\n\t */\r\n\t#genDataUnFormat(dataFormatted: Map<string, string>) {\r\n\t\tconst data: Map<string, any> = new Map();\r\n\r\n\t\tdataFormatted.forEach((value, name) => {\r\n\t\t\tif (value === null || value === undefined || value === 'false') return;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tif (typeof (value) === 'string' && !/^\\d\\d\\d\\d-\\d\\d-\\d\\d$/.test(value)) value = JSON.parse(value);\r\n\r\n\t\t\t\tif (value === null || value === undefined || value === 'false') return;\r\n\t\t\t} catch (e) {\r\n\t\t\t\t// не json строка\r\n\t\t\t}\r\n\r\n\t\t\tdata.set(name, value);\r\n\t\t});\r\n\r\n\t\treturn data;\r\n\t}\r\n\r\n\t/**\r\n\t * Установить опции из хеша адреса страницы\r\n\t */\r\n\t#loadFromHash() {\r\n\t\tlet dataHash: any;\r\n\t\ttry {\r\n\t\t\tdataHash = JSON.parse(getHash(this.#storeId));\r\n\t\t} catch (e) {\r\n\r\n\t\t}\r\n\t\tif (!dataHash) return;\r\n\r\n\t\tconst dataFormatted: Map<string, any> = new Map();\r\n\r\n\t\tthis.#namesUrlHash.forEach((name) => {\r\n\t\t\tconst value = dataHash[name];\r\n\t\t\tif (!value) return;\r\n\r\n\t\t\tdataFormatted.set(name, value);\r\n\t\t});\r\n\r\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\r\n\r\n\t\tthis.#setOptions(data);\r\n\t}\r\n\r\n\t/**\r\n\t * Сохранить опции в хеш адреса страницы\r\n\t */\r\n\t#saveInHash() {\r\n\t\tconst data = new Map();\r\n\r\n\t\tthis.#namesUrlHash.forEach((name) => {\r\n\t\t\tconst value = this.#store[name];\r\n\r\n\t\t\tdata.set(name, value);\r\n\t\t});\r\n\r\n\t\tconst dataObject = Object.fromEntries(data);\r\n\t\tconst dataJSON = JSON.stringify(dataObject);\r\n\r\n\t\tsetHash(this.#storeId, dataJSON);\r\n\t};\r\n\r\n\t/**\r\n\t * Установить опции из localStorage\r\n\t * @param isLocal - сохранить с учетом адреса страницы\r\n\t */\r\n\t#loadFromStorage(isLocal = false) {\r\n\t\tconst dataFormatted = new Map();\r\n\r\n\t\t// let names = this.#namesStorage;\r\n\t\tlet storageNamespace = 'state:' + this.#storeId;\r\n\r\n\t\tif (isLocal) {\r\n\t\t\t// names = this.#namesStorageLocal;\r\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\r\n\t\t}\r\n\r\n\t\tthis.#namesStorage.forEach((name) => {\r\n\t\t\tconst value = localStorage.getItem(storageNamespace + ':' + name);\r\n\t\t\tdataFormatted.set(name, value);\r\n\t\t});\r\n\r\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\r\n\r\n\t\tthis.#setOptions(data);\r\n\t}\r\n\r\n\t/**\r\n\t * Сохранить опции в localStorage\r\n\t * @param isLocal - сохранить с учетом адреса страницы\r\n\t */\r\n\t#saveInStorage(isLocal = false) {\r\n\t\tconst data = new Map();\r\n\r\n\t\tlet names = this.#namesStorage;\r\n\t\tlet storageNamespace = 'state:' + this.#storeId;\r\n\r\n\t\tif (isLocal) {\r\n\t\t\tnames = this.#namesStorageLocal;\r\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\r\n\t\t}\r\n\r\n\t\tnames.forEach((name) => {\r\n\t\t\tconst value = this.#store[name];\r\n\r\n\t\t\tdata.set(name, value);\r\n\t\t});\r\n\r\n\t\tconst dataFormatted = this.#genDataFormat(data);\r\n\r\n\t\tnames.forEach((name) => {\r\n\t\t\tconst value = dataFormatted.get(name);\r\n\r\n\t\t\tlocalStorage.setItem(storageNamespace + ':' + name, value);\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Установить опции из гостевой ссылки\r\n\t */\r\n\t#loadFromGuestLink() {\r\n\t\tconst guestData = this.#user?.guest_data?.data;\r\n\t\tif (!guestData) return;\r\n\r\n\t\t// общие правила для гостевых сессий\r\n\t\tif (this.#user.id === -1) this.#user.positionsReverseDates = guestData.positionsReverseDates;\r\n\r\n\t\tconst dataFormatted = new Map();\r\n\r\n\t\tthis.#namesGuestLink.forEach((name) => {\r\n\t\t\tconst value = guestData[name];\r\n\t\t\tdataFormatted.set(name, value);\r\n\t\t});\r\n\r\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\r\n\r\n\t\tthis.#setOptions(data);\r\n\r\n\t\tconst $guestTitle = $('.mod_guest_title');\r\n\r\n\t\t// TODO: вынести в опции плагина\r\n\t\tif (this.#store.competitorsIds?.length === 1 && this.#Page.page.data.competitors) {\r\n\t\t\tlet competitors = this.#Page.page.data.competitors.filter((competitor: any) => competitor.id === guestData.competitorsIds[0]);\r\n\t\t\tif (competitors.length) {\r\n\t\t\t\t$('a', $guestTitle).attr('href', 'http://' + competitors[0].url);\r\n\t\t\t\t$('a', $guestTitle).text(competitors[0].name);\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 * Входные параметры устанавливаются при открытии страницы\r\n\t *\r\n\t * Входные параметры могут меняться пользоваталем и устаревать\r\n\t */\r\n\t#prepareParams() {\r\n\t\t// контролль за вводом регионов\r\n\t\t// TODO: вынести в опции плагина\r\n\t\tif (this.#store.regionsIndexes) {\r\n\t\t\twatch(this.#store, (regionsIndexes) => {\r\n\t\t\t\tif (!regionsIndexes.length) return;\r\n\r\n\t\t\t\t// приведение типа\r\n\t\t\t\tregionsIndexes.forEach((regionIndex: number, index: number) => regionsIndexes[index] = regionIndex);\r\n\r\n\t\t\t\t// оставить только включенные регионы\r\n\t\t\t\t// @ts-ignore\r\n\t\t\t\tconst mapSearchers = TplProjectSelectorRegion.genSearchersMap();\r\n\r\n\t\t\t\tconst availableRegionsIndexes: number[] = [];\r\n\t\t\t\tmapSearchers.forEach((searcher: any) => {\r\n\t\t\t\t\tsearcher.regions.forEach((region: any) => {\r\n\t\t\t\t\t\tif (region.index === -1) return;\r\n\r\n\t\t\t\t\t\tavailableRegionsIndexes.push(region.index);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.#store.regionsIndexes = regionsIndexes.filter((regionIndex: number) => availableRegionsIndexes.includes(regionIndex));\r\n\t\t\t}, { immediate: true });\r\n\t\t}\r\n\r\n\t\t// контролль за вводом конкурентов\r\n\t\t// TODO: вынести в опции плагина\r\n\t\tif (this.#store.competitorsIds) {\r\n\t\t\twatch(this.#store, (competitorsIds) => {\r\n\t\t\t\tif (!competitorsIds.length) return;\r\n\r\n\t\t\t\t// приведение типа\r\n\t\t\t\tcompetitorsIds.forEach((competitorId: number, index: number) => competitorId[index] = competitorId);\r\n\r\n\t\t\t\t// оставить только включенных конкурентов\r\n\t\t\t\tconst availableCompetitorsIds = [this.#Page.page.data.project.id];\r\n\t\t\t\tthis.#Page.page.data.project.competitors.forEach((competitor: any) => {\r\n\t\t\t\t\tif (competitor.on >= 0) availableCompetitorsIds.push(competitor.id);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.#store.competitorsIds = competitorsIds.filter((competitorId: number) => availableCompetitorsIds.includes(competitorId));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\ntype Options = {\r\n\t/**\r\n\t * TODO: Убрать из плагина\r\n\t */\r\n\tPage: any,\r\n\r\n\t/**\r\n\t * Объект с настройками пользователя\r\n\t */\r\n\tuser: any,\r\n\r\n\t/**\r\n\t * Объект для работы с API\r\n\t *\r\n\t * См. на айте: @/component/api/core/api.ts\r\n\t */\r\n\tApi: any;\r\n\r\n\t/**\r\n\t * Имена свойств для сохранения в URL\r\n\t */\r\n\ttpaNamesUrlHash?: string[],\r\n\r\n\t/**\r\n\t * Имена свойств для сохранения в localStorage\r\n\t */\r\n\ttpaNamesStorage?: string[],\r\n\r\n\t/**\r\n\t * Имена свойств для сохранения в localStorage с учетом пути URL\r\n\t *\r\n\t * Каждый URL будет работать со своим состоянием\r\n\t */\r\n\ttpaNamesStorageLocal?: string[],\r\n\r\n\t/**\r\n\t * Имена свойств для работы с гостевой ссылкой\r\n\t *\r\n\t * Для генерации гостевой ссылки используйте store.genGuestLink(data, url)\r\n\t */\r\n\ttpaNamesGuestLink?: string[],\r\n};\r\n\r\ntype Context = PiniaPluginContext & {\r\n\toptions: Options\r\n};\r\n\r\n/**\r\n * Плагин tpa (Third-party access) для pinia\r\n *\r\n * Добавляет возможность сохранять и загружать данные в/из:\r\n * \t- URL hash в адресе страницы\r\n * \t- localStorage\r\n * \t- гостевая ссылка\r\n *\r\n * Для подключения плагина нужно указань одну или несколько опций при определении defineStore():\r\n * - tpaNamesUrlHash\r\n * - tpaNamesStorage\r\n * - tpaNamesStorageLocal\r\n * - tpaNamesGuestLink\r\n */\r\nexport default (contextPinia: PiniaPluginContext) => {\r\n\tconst context = contextPinia as Context;\r\n\r\n\t// плагин подключать не нужно\r\n\tif (\r\n\t\t!context.options.tpaNamesUrlHash?.length &&\r\n\t\t!context.options.tpaNamesStorage?.length &&\r\n\t\t!context.options.tpaNamesStorageLocal?.length &&\r\n\t\t!context.options.tpaNamesGuestLink?.length\r\n\t) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tnew PiniaTPA(context);\r\n}\r\n"],"names":["WorkerEvents","e","_a","forms","popup_worker","elPopup","elOpener","_d","_c","focus","el","binding","appStickyObserver","sticky","_vnode","entries","_el","_binding","appSwimUpObserver","appSwimUpEls","swimUpElTransform","windowHeight","triggerHeight","distance","swimUpInit","entry","swimUp","$$1","tvTooltipGenOptions","vnode","options","tooltip","instance","core","app","name","PiniaTPA","#storeId","#store","#Page","#user","#Api","context","url","data","#loadFromStorage","#loadFromHash","#loadFromGuestLink","#prepareParams","save","debounce","#saveInHash","#saveInStorage","dataGuestLink","#genOptionsForGuestLink","res","utils_clipboard","showInfo","nameSnakeCase","utils_string","value","dataFormatted","dataHash","utils_route","#setOptions","isLocal","storageNamespace","names","#namesStorage","#namesStorageLocal","guestData","$guestTitle","competitors","competitor","regionsIndexes","regionIndex","index","mapSearchers","availableRegionsIndexes","searcher","competitorsIds","competitorId","availableCompetitorsIds","piniaTPA","contextPinia","_b"],"mappings":"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"}
|
package/core/app.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as c, E, b, c as S, e as v, f as k, g as L, h as O, j as I, k as P, l as y, m as H, n as _, o as M, p as N } from "../.chunks/forms-
|
|
1
|
+
import { C as c, E, b, c as S, e as v, f as k, g as L, h as O, j as I, k as P, l as y, m as H, n as _, o as M, p as N } from "../.chunks/forms-DFdkeBCT.es.js";
|
|
2
2
|
import { TopPopupWorker as d } from "../popup/worker.js";
|
|
3
3
|
import { i as nt, a as it, u as at, b as rt } from "../.chunks/i18n-DuTvft1T.es.js";
|
|
4
4
|
import { watch as g } from "vue";
|