@topvisor/ui 0.9.35-4 → 0.9.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.chunks/{datepicker-D_95vv2c.amd.js → datepicker-CMuCkYBj.amd.js} +4 -4
  2. package/.chunks/{datepicker-D_95vv2c.amd.js.map → datepicker-CMuCkYBj.amd.js.map} +1 -1
  3. package/.chunks/{datepicker-CcRVcC5P.es.js → datepicker-CtcFJYEp.es.js} +4 -4
  4. package/.chunks/{datepicker-CcRVcC5P.es.js.map → datepicker-CtcFJYEp.es.js.map} +1 -1
  5. package/.chunks/{forms-BZoPbSQt.es.js → forms-Cay_sybt.es.js} +3 -3
  6. package/.chunks/forms-Cay_sybt.es.js.map +1 -0
  7. package/.chunks/{forms-KR6uVX5Z.amd.js → forms-Lm1WM1gO.amd.js} +3 -3
  8. package/.chunks/forms-Lm1WM1gO.amd.js.map +1 -0
  9. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-C2uuAtpx.es.js → listItem.vue_vue_type_script_setup_true_lang-B3TjT92k.es.js} +2 -2
  10. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-C2uuAtpx.es.js.map → listItem.vue_vue_type_script_setup_true_lang-B3TjT92k.es.js.map} +1 -1
  11. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-4m2ZOlaP.amd.js → listItem.vue_vue_type_script_setup_true_lang-D1glM0F3.amd.js} +2 -2
  12. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-4m2ZOlaP.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-D1glM0F3.amd.js.map} +1 -1
  13. package/.chunks/{menu-DDYYS64d.es.js → menu-B3Nf7_NC.es.js} +2 -2
  14. package/.chunks/{menu-DDYYS64d.es.js.map → menu-B3Nf7_NC.es.js.map} +1 -1
  15. package/.chunks/{menu-CNIQ9vFJ.amd.js → menu-Dg2EKy3O.amd.js} +2 -2
  16. package/.chunks/{menu-CNIQ9vFJ.amd.js.map → menu-Dg2EKy3O.amd.js.map} +1 -1
  17. package/.chunks/{popup-Bc6YggdE.es.js → popup-B7UOyCUj.es.js} +6 -5
  18. package/.chunks/popup-B7UOyCUj.es.js.map +1 -0
  19. package/.chunks/{popup-BFJ2eTTB.amd.js → popup-BGuc5GyB.amd.js} +6 -5
  20. package/.chunks/popup-BGuc5GyB.amd.js.map +1 -0
  21. package/assets/core.css +1 -1
  22. package/assets/dark.css +1 -1
  23. package/assets/forms.css +1 -1
  24. package/assets/formsExt.css +1 -1
  25. package/assets/light.css +1 -1
  26. package/assets/menu.css +1 -1
  27. package/assets/popup.css +1 -1
  28. package/assets/tabs.css +1 -1
  29. package/core/app.amd.js +1 -1
  30. package/core/app.js +1 -1
  31. package/core/core.amd.js +1 -1
  32. package/core/core.js +1 -1
  33. package/forms/forms.amd.js +1 -1
  34. package/forms/forms.js +1 -1
  35. package/formsExt/formsExt.amd.js +1 -1
  36. package/formsExt/formsExt.amd.js.map +1 -1
  37. package/formsExt/formsExt.js +2 -2
  38. package/formsExt/formsExt.js.map +1 -1
  39. package/package.json +1 -1
  40. package/popup/popup.amd.js +1 -1
  41. package/popup/popup.js +2 -2
  42. package/popup/popup.js.map +1 -1
  43. package/popup/worker.amd.js +1 -1
  44. package/popup/worker.js +2 -2
  45. package/project/project.amd.js +1 -1
  46. package/project/project.js +3 -3
  47. package/tabs/tabs.amd.js +1 -1
  48. package/tabs/tabs.js +1 -1
  49. package/tabsView/tabsView.amd.js +1 -1
  50. package/tabsView/tabsView.js +1 -1
  51. package/utils/date.amd.js +1 -1
  52. package/utils/date.js +1 -1
  53. package/utils/device.amd.js +1 -1
  54. package/utils/device.js +1 -1
  55. package/utils/price.amd.js +1 -1
  56. package/utils/price.js +1 -1
  57. package/.chunks/forms-BZoPbSQt.es.js.map +0 -1
  58. package/.chunks/forms-KR6uVX5Z.amd.js.map +0 -1
  59. package/.chunks/popup-BFJ2eTTB.amd.js.map +0 -1
  60. package/.chunks/popup-Bc6YggdE.es.js.map +0 -1
package/assets/forms.css CHANGED
@@ -1 +1 @@
1
- .top-avatar{width:var(--2d3ea0e8);height:var(--2d3ea0e8);display:flex;flex-grow:0;flex-shrink:0;position:relative;top:0;left:0}.top-avatar_image{border-radius:50%;width:100%;height:100%}.top-avatar_status{border-radius:50%;border:2px solid var(--content-background-color);background-color:var(--color-bg-positive-2);width:25%;height:25%;position:absolute;right:0;bottom:0}.top-button{cursor:pointer;box-sizing:border-box;box-shadow:var(--top-button-box-shadow);border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);background-color:var(--top-button-background-color);height:var(--top-forms-base-height);padding:0 var(--top-forms-padding);color:var(--top-button-color);line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s,box-shadow .15s}.top-button:hover{box-shadow:var(--top-button-box-shadow-hover);background-color:var(--top-button-background-color-hover)}.top-button:active{box-shadow:var(--top-button-box-shadow-active);background-color:var(--top-button-background-color-active)}.top-button.top-active{box-shadow:var(--top-button-box-shadow-selected);background-color:var(--top-button-background-color-selected)}.top-button.top-button-progress{cursor:help;box-shadow:inset #00000080 0 0 64px;background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:32px 32px;animation:_progress_1f1nw_1 1s linear infinite}@keyframes _progress_1f1nw_1{0%{background-position-x:0px}to{background-position-x:32px}}a.top-button,button.top-button{min-width:100px;text-decoration:none}a.top-button,a.top-button:hover{min-width:var(--top-forms-base-height);text-decoration:none}.top-button[data-top-icon]:not(:empty):not(.top-button-withoutText),.top-button[data-top-icon2]:not(:empty):not(.top-button-withoutText){justify-content:flex-start;text-align:left}.top-button[data-top-icon]{padding-left:0}.top-button[data-top-icon2]{padding-right:var(--top-select_arrow-width)}.top-button[data-top-icon2]:after{margin-left:auto}.top-button:empty,.top-button.top-button-withoutText{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty,.top-button[data-top-icon].top-button-withoutText,.top-button[data-top-icon2].top-button-withoutText{padding:0}.top-button.top-color_blue{--top-button-background-color: var(--color-bg-primary-2)}.top-button.top-color_green{--top-button-background-color: var(--color-bg-positive-2)}.top-button.top-color_orange{--top-button-background-color: var(--color-bg-warning-2)}.top-button.top-color_red{--top-button-background-color: var(--color-bg-negative-2)}.top-button.top-color_pink{--top-button-background-color: var(--color-bg-info-2)}.top-button.top-color_theme{--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-icon-color: var(--color-icon-2);--top-icon2-color: var(--color-icon-2);--top-button-color: var(--color-text-1);--top-button-background-color: transparent;--top-button-background-color-hover: var(--color-layer-secondary-1);--top-button-background-color-active: var(--color-layer-secondary-3);--top-button-background-color-selected: var(--color-layer-secondary-2)}.top-button.top-color_theme:hover{--top-icon-color: var(--color-icon-1);--top-icon2-color: var(--color-icon-1)}.top-button.top-color_theme.top-active{--top-icon-color: var(--color-text-2)}.top-button.top-style_outline{--top-button-box-shadow: none;--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-forms-border-color: var(--top-style_outline-color);--top-style_outline-color: var(--color-line-2);--top-button-color: var(--top-style_outline-color);--top-button-background-color: var(--content-background-color);--top-button-background-color-hover: var(--top-button-background-color-hover);--top-button-background-color-active: var(--top-button-background-color-active);--top-button-background-color-selected: var(--top-button-background-color-selected);--top-forms-border-width: 1px}.top-button.top-style_outline.top-color_theme{--top-button-color: var(--color-text-1);--top-icon-color: var(--color-icon-2);--top-icon2-color: var(--color-icon-2);--top-style_outline-color: var(--color-line-2);--top-button-background-color-hover: var(--color-layer-secondary-1);--top-button-background-color-active: var(--color-layer-secondary-2);--top-button-background-color-selected: var(--color-layer-secondary-3)}.top-button.top-style_outline.top-color_theme:hover{--top-button-color: var(--color-text-1);--top-icon-color: var(--color-icon-1);--top-icon2-color: var(--color-icon-1)}.top-button.top-style_outline.top-color_blue{--top-button-color: var(--color-text-primary-2);--top-style_outline-color: var(--color-line-primary-1);--top-icon-color: var(--color-icon-primary-1);--top-icon2-color: var(--color-icon-primary-1);--top-button-background-color-hover: var(--color-layer-primary-1);--top-button-background-color-active: var(--color-layer-primary-2);--top-button-background-color-selected: var(--color-layer-primary-3)}.top-button.top-style_outline.top-color_blue:hover{--top-button-color: var(--color-text-primary-1);--top-icon-color: var(--color-icon-primary-2);--top-icon2-color: var(--color-icon-primary-2)}.top-button.top-style_outline.top-color_green{--top-button-color: var(--color-text-positive-2);--top-style_outline-color: var(--color-line-positive-1);--top-button-background-color-hover: var(--color-layer-positive-1);--top-button-background-color-active: var(--color-layer-positive-2);--top-button-background-color-selected: var(--color-layer-positive-3)}.top-button.top-style_outline.top-color_green:hover{--top-button-color: var(--color-text-positive-1);--top-icon-color: var(--color-icon-positive-2);--top-icon2-color: var(--color-icon-positive-2)}.top-button.top-style_outline.top-color_orange{--top-button-color: var(--color-text-warning-2);--top-style_outline-color: var(--color-line-warning-1);--top-button-background-color-hover: var(--color-layer-warning-1);--top-button-background-color-active: var(--color-layer-warning-2);--top-button-background-color-selected: var(--color-layer-warning-3)}.top-button.top-style_outline.top-color_orange:hover{--top-button-color: var(--color-text-warning-1);--top-icon-color: var(--color-icon-warning-2);--top-icon2-color: var(--color-icon-warning-2)}.top-button.top-style_outline.top-color_red{--top-button-color: var(--color-text-negative-2);--top-style_outline-color: var(--color-line-negative-1);--top-button-background-color-hover: var(--color-layer-negative-1);--top-button-background-color-active: var(--color-layer-negative-2);--top-button-background-color-selected: var(--color-layer-negative-3)}.top-button.top-style_outline.top-color_red:hover{--top-button-color: var(--color-text-negative-1);--top-icon-color: var(--color-icon-negative-2);--top-icon2-color: var(--color-icon-negative-2)}.top-button.top-style_outline.top-color_pink{--top-button-color: var(--color-text-info-2);--top-style_outline-color: var(--color-line-info-1);--top-button-background-color-hover: var(--color-layer-info-1);--top-button-background-color-active: var(--color-layer-info-2);--top-button-background-color-selected: var(--color-layer-info-3)}.top-button.top-style_outline.top-color_pink:hover{--top-button-color: var(--color-text-info-1);--top-icon-color: var(--color-icon-info-2);--top-icon2-color: var(--color-icon-info-2)}.top-button.top-style_soft{--top-shadow-darken: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none}.top-button.top-style_soft.top-color_theme{--top-button-color: var(--color-text-1);--top-icon-color: var(--color-icon-2);--top-icon2-color: var(--color-icon-2);--top-button-background-color: var(--color-layer-secondary-1);--top-button-background-color-hover: var(--color-layer-secondary-2);--top-button-background-color-active: var(--color-layer-secondary-4);--top-button-background-color-selected: var(--color-layer-secondary-3)}.top-button.top-style_soft.top-color_blue{--top-button-color: var(--color-text-primary-1);--top-icon-color: var(--color-icon-primary-1);--top-icon2-color: var(--color-icon-primary-1);--top-button-background-color: var(--color-layer-primary-1);--top-button-background-color-hover: var(--color-layer-primary-2);--top-button-background-color-active: var(--color-layer-primary-4);--top-button-background-color-selected: var(--color-layer-primary-3)}.top-button.top-style_soft.top-color_green{--top-button-color: var(--color-text-positive-1);--top-icon-color: var(--color-icon-positive-1);--top-icon2-color: var(--color-icon-positive-1);--top-button-background-color: var(--color-layer-positive-1);--top-button-background-color-hover: var(--color-layer-positive-2);--top-button-background-color-active: var(--color-layer-positive-4);--top-button-background-color-selected: var(--color-layer-positive-3)}.top-button.top-style_soft.top-color_orange{--top-button-color: var(--color-text-warning-1);--top-icon-color: var(--color-icon-warning-1);--top-icon2-color: var(--color-icon-warning-1);--top-button-background-color: var(--color-layer-warning-1);--top-button-background-color-hover: var(--color-layer-warning-2);--top-button-background-color-active: var(--color-layer-warning-4);--top-button-background-color-selected: var(--color-layer-warning-3)}.top-button.top-style_soft.top-color_red{--top-button-color: var(--color-text-negative-1);--top-icon-color: var(--color-icon-negative-1);--top-icon2-color: var(--color-icon-negative-1);--top-button-background-color: var(--color-layer-negative-1);--top-button-background-color-hover: var(--color-layer-negative-2);--top-button-background-color-active: var(--color-layer-negative-4);--top-button-background-color-selected: var(--color-layer-negative-3)}.top-button.top-style_soft.top-color_pink{--top-button-color: var(--color-text-info-1);--top-icon-color: var(--color-icon-info-1);--top-icon2-color: var(--color-icon-info-1);--top-button-background-color: var(--color-layer-info-1);--top-button-background-color-hover: var(--color-layer-info-2);--top-button-background-color-active: var(--color-layer-info-4);--top-button-background-color-selected: var(--color-layer-info-3)}.top-button.top-style_transparent{--top-shadow-darken: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none;--top-button-color: var(--color-text);--top-button-background-color: transparent;--top-button-background-color-hover: transparent;--top-button-background-color-active: transparent;--top-button-background-color-selected: var(--color-steel-200)}.top-button.top-style_transparent:hover{opacity:.8}.top-button.top-style_transparent.top-color_blue{--top-button-color: var(--color-text-primary-2)}.top-button.top-style_transparent.top-color_green{--top-button-color: var(--color-text-positive-2)}.top-button.top-style_transparent.top-color_orange{--top-button-color: var(--color-text-warning-2)}.top-button.top-style_transparent.top-color_red{--top-button-color: var(--color-text-negative-2)}.top-button.top-style_transparent.top-color_pink{--top-button-color: var(--color-text-info-1)}.top-button{--top-button-color: var(--color-white);--top-button-background-color: transparent;--top-button-background-color-hover: var(--top-button-background-color);--top-button-background-color-active: var(--top-button-background-color-hover);--top-button-background-color-selected: var(--top-button-background-color-hover);--top-button-box-shadow: none;--top-button-box-shadow-hover: var(--top-shadow-darken-2);--top-button-box-shadow-active: var(--top-shadow-darken-3);--top-button-box-shadow-selected: var(--top-shadow-darken-3);--top-forms-border-width: 0px;--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding))}.top-button.top-size_l{--top-forms-padding: var(--top-forms-padding_l);--top-forms-base-height: var(--top-forms-base-height_l)}.top-button.top-size_xl{--top-forms-padding: var(--top-forms-padding_xl);--top-forms-base-height: var(--top-forms-base-height_xl)}.top-forms-optionLabel{flex-grow:1}.top-forms-optionLabel_title{color:var(--color-text-1);min-height:var(--top-forms-option-height);display:flex;align-items:center}.top-forms-optionLabel_title-disabled{color:var(--color-text-3)}.top-forms-optionLabel_description{color:var(--color-text-2);font-size:.85em;line-height:var(--top-forms-option-height)}.top-forms-optionLabel_description-disabled{color:var(--color-text-3)}.top-checkbox{cursor:pointer;display:inline-flex}.top-checkbox_input{cursor:inherit;border-radius:4px;background:var(--content-background-color);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-checkbox_input:before{content:" ";color:#fff;font-family:Topvisor-2;font-size:16px}.top-checkbox_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-theme-100)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--color-bg-primary-2);background:var(--color-bg-primary-2)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--color-bg-primary-1);background:var(--color-bg-primary-1)}.top-checkbox_input:disabled{border-color:var(--color-line-1);background:var(--color-theme-100)}.top-checkbox_input:checked:disabled,.top-checkbox_input:indeterminate:disabled{border-color:transparent;background:var(--color-theme-400)}.top-checkbox_input.top-error{border-color:var(--color-bg-negative-2)}.top-checkbox_input.top-error:hover{border-color:var(--color-bg-negative-1)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-bg-negative-2)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-bg-negative-1)}.top-hint{--top-icon-size: 16px;--top-icon-width: var(--top-icon-size);border-radius:50%;background:var(--content-background-color);padding:1px;color:var(--color-icon-3);line-height:1;z-index:1;pointer-events:all}.top-hint:hover{color:var(--color-icon-2)}:root{--top-loadbar-duration: 10s;--top-loadbar-color: var(--color-line-primary-2)}.top-loadbar{background:var(--top-loadbar-color);width:0;height:4px;position:absolute;top:0;left:0;animation:top-loadbar var(--top-loadbar-duration) forwards}@keyframes top-loadbar{0%{width:4px}4%{width:4%}5%{width:5%}to{width:95%}}.top-input{--top-forms_clear-width: 0px;border-radius:var(--top-forms-radius);width:180px;position:relative;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-input_input{color:var(--color-text-2);background:var(--top-forms-background-color);height:var(--top-forms-base-height);padding:0;padding-right:max(var(--top-forms-padding),calc(var(--top-icon2-width) + var(--top-forms_clear-width)));padding-left:max(var(--top-forms-padding),var(--top-icon-width))}.top-input_input:hover{background:var(--top-forms-background-color-hover)}.top-input_input:focus{color:var(--color-text-1);border-color:var(--color-line-primary-1);outline:none}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color: var(--color-icon-4);--top-icon2-color: var(--color-icon-4);position:absolute;z-index:3;font-size:20px}.top-input[data-top-icon]:before{left:0}.top-input[data-top-icon2]:after{right:0}.top-input-withCleaner{--top-forms_clear-width: 24px}.top-input_cleaner[data-top-icon]{--top-icon-size: 16px;--top-icon-width: 20px;--top-icon-color: var(--color-icon-3);cursor:pointer;border-radius:50%;width:20px;height:16px;position:absolute;right:calc(var(--top-forms-border-width) + max(var(--top-icon2-width),var(--top-forms-padding) / 2));z-index:1;display:flex;align-items:center;justify-content:center}.top-input_cleaner[data-top-icon]:hover{--top-icon-color: var(--color-icon-2)}.top-input_input{width:50%;flex-grow:1}.top-input .top-loadbar{border-radius:var(--top-forms-radius) 0 0 0}.top-input-datepicker{width:calc(105px + var(--top-icon-width) + var(--top-icon2-width))}.top-input_input-date{opacity:0;position:absolute;inset:0;z-index:-1}.top-input_input-date::-webkit-inner-spin-button{display:none}.top-input_input-date::-webkit-calendar-picker-indicator{opacity:0}.top-inputRange{max-width:320px;vertical-align:baseline;display:inline-flex;gap:8px}.top-inputRange_dash{height:var(--top-forms-base-height);color:var(--color-text-4);align-self:flex-end;display:inline-flex;align-items:center}.top-inputRange>.top-input{flex-grow:1}:root{--top-radio-background-color: var(--content-background-color);--top-radio-background-color-hover: var(--top-radio-background-color);--top-radio-background-color-active: var(--top-radio-background-color)}.top-radio{cursor:pointer}.top-radio_input{border-radius:50%;background:var(--content-background-color);border:1px solid var(--color-line-3);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radio_input:hover{border-color:var(--color-line-3);background:var(--color-layer-secondary-1)}.top-radio_input:checked{border-color:var(--color-line-primary-1);border-width:5px}.top-radio_input:checked:hover{border-color:var(--color-line-primary-2)}.top-radio_input:disabled{border-color:var(--color-line-1-opacity);background:var(--color-theme-100)}.top-radio_input:checked:disabled{border-color:var(--color-theme-400)}.top-radio_input.top-error{border-color:var(--color-line-negative-1)}.top-radio_input.top-error:hover{border-color:var(--color-line-negative-2)}.top-checkboxSwitcher{cursor:pointer;display:inline-flex;gap:4px}.top-checkboxSwitcher_input{border-radius:9px;border:none;background:var(--color-layer-secondary-2);width:36px;height:18px;position:relative}.top-checkboxSwitcher_input:before{content:"";border-radius:50%;background:var(--color-white);width:12px;height:12px;margin:3px;position:absolute;top:0;left:0;transition:left .1s}.top-checkboxSwitcher_input:hover{background:var(--color-layer-secondary-4)}.top-checkboxSwitcher_input:checked{background:var(--color-bg-primary-2)}.top-checkboxSwitcher_input:checked:hover{background:var(--color-bg-primary-1)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input:disabled{background:var(--color-theme-400)}.top-checkboxSwitcher_input.top-error{background:var(--color-layer-negative-3)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-layer-negative-4)}.top-checkboxSwitcher_input.top-error:checked{background:var(--color-bg-negative-2)}.top-checkboxSwitcher_input.top-error:checked:hover{background:var(--color-bg-negative-1)}.top-textarea{width:180px;display:inline-flex;align-items:center;position:relative}.top-textarea_textarea{color:var(--color-text-1);background:var(--top-forms-background-color);width:100%;padding:var(--top-forms-padding);resize:none}.top-textarea_textarea:hover{background:var(--top-forms-background-color-hover)}.top-textarea_textarea:focus{border-color:var(--color-line-primary-1);outline:none}.top-textarea_textarea.top-textarea_textarea-expandable{width:100%;height:100%;overflow:hidden;position:absolute;top:0;left:0}.top-textarea_pseudoContent{box-sizing:border-box;min-height:var(--bb7a0c5c);padding:var(--top-forms-padding);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;opacity:0;z-index:-1}.top-textarea_hint{position:absolute;top:2px;right:2px}.top-select{color:var(--color-text-1);--top-icon-color: var(--color-icon-2);--top-icon2-color: var(--color-icon-2);align-items:center;width:180px;max-width:100%;display:inline-flex}.top-select-error{--top-icon-color: var(--color-icon-negative-1);--top-icon2-color: var(--color-icon-negative-1)}.top-select_select{background-color:var(--top-forms-background-color);padding-left:var(--top-forms-padding);text-indent:clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)));width:100%;height:var(--top-forms-base-height);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select_select:disabled{color:var(--color-text-3)}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option:not(:disabled){background:var(--content-background-color);color:var(--color-text-1)}.top-select option:disabled{background:unset;color:unset}@-moz-document url-prefix(){.top-select_select{text-indent:calc(clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)))/2)}}@media only screen and (min-width: 900px){.top-changer{cursor:pointer;border-radius:100%;width:0;transform:translate(-44px);color:var(--color-text-2);font-size:16px;line-height:1;display:none;z-index:2;order:4}.top-changer:hover{color:var(--color-primary)}.top-changer:after{content:"";background-color:var(--top-forms-background-color);font-family:Topvisor-2}*:hover>.top-changer{display:block}}
1
+ .top-avatar{width:var(--4926eb34);height:var(--4926eb34);display:flex;flex-grow:0;flex-shrink:0;position:relative;top:0;left:0}.top-avatar_image{border-radius:50%;width:100%;height:100%}.top-avatar_status{border-radius:50%;border:2px solid var(--content-background-color);background-color:var(--color-object-positive);width:25%;height:25%;position:absolute;right:0;bottom:0}.top-button{cursor:pointer;box-sizing:border-box;box-shadow:var(--top-button-box-shadow);border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);background-color:var(--top-button-background-color);height:var(--top-forms-base-height);padding:0 var(--top-forms-padding);color:var(--top-button-color);line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s,box-shadow .15s}.top-button:hover{box-shadow:var(--top-button-box-shadow-hover);background-color:var(--top-button-background-color-hover)}.top-button:active{box-shadow:var(--top-button-box-shadow-active);background-color:var(--top-button-background-color-active)}.top-button.top-active{box-shadow:var(--top-button-box-shadow-selected);background-color:var(--top-button-background-color-selected)}.top-button.top-button-progress{cursor:help;box-shadow:inset #00000080 0 0 64px;background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:32px 32px;animation:_progress_1f1nw_1 1s linear infinite}@keyframes _progress_1f1nw_1{0%{background-position-x:0px}to{background-position-x:32px}}a.top-button,button.top-button{min-width:100px;text-decoration:none}a.top-button,a.top-button:hover{min-width:var(--top-forms-base-height);text-decoration:none}.top-button[data-top-icon]:not(:empty):not(.top-button-withoutText),.top-button[data-top-icon2]:not(:empty):not(.top-button-withoutText){justify-content:flex-start;text-align:left}.top-button[data-top-icon]{padding-left:0}.top-button[data-top-icon2]{padding-right:var(--top-select_arrow-width)}.top-button[data-top-icon2]:after{margin-left:auto}.top-button:empty,.top-button.top-button-withoutText{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty,.top-button[data-top-icon].top-button-withoutText,.top-button[data-top-icon2].top-button-withoutText{padding:0}.top-button.top-color_blue{--top-button-background-color: var(--color-bg-primary-6)}.top-button.top-color_green{--top-button-background-color: var(--color-bg-positive-6)}.top-button.top-color_orange{--top-button-background-color: var(--color-bg-warning-6)}.top-button.top-color_red{--top-button-background-color: var(--color-bg-negative-4)}.top-button.top-color_pink{--top-button-background-color: var(--color-bg-info-5)}.top-button.top-color_theme{--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-icon-color: var(--color-icon-2);--top-icon2-color: var(--color-icon-2);--top-button-color: var(--color-text-1);--top-button-background-color: transparent;--top-button-background-color-hover: var(--color-layer-secondary-1);--top-button-background-color-active: var(--color-layer-secondary-3);--top-button-background-color-selected: var(--color-layer-secondary-2)}.top-button.top-color_theme:hover{--top-icon-color: var(--color-icon-1);--top-icon2-color: var(--color-icon-1)}.top-button.top-color_theme.top-active{--top-icon-color: var(--color-text-2)}.top-button.top-style_outline{--top-button-box-shadow: none;--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-button-background-color: var(--content-background-color);--top-forms-border-width: 1px}.top-button.top-style_outline.top-color_theme{--top-button-color: var(--color-text-1);--top-icon-color: var(--color-icon-2);--top-icon2-color: var(--color-icon-2);--top-button-background-color-hover: var(--color-layer-secondary-1);--top-button-background-color-active: var(--color-layer-secondary-2);--top-button-background-color-selected: var(--color-layer-secondary-3);--top-forms-border-color: var(--color-line-1)}.top-button.top-style_outline.top-color_theme:hover{--top-button-color: var(--color-text-1);--top-icon-color: var(--color-icon-1);--top-icon2-color: var(--color-icon-1);--top-forms-border-color: var(--color-line-3)}.top-button.top-style_outline.top-color_blue{--top-button-color: var(--color-text-primary-2);--top-icon-color: var(--color-icon-primary-2);--top-icon2-color: var(--color-icon-primary-2);--top-button-background-color-hover: var(--color-layer-primary-1);--top-button-background-color-active: var(--color-layer-primary-2);--top-button-background-color-selected: var(--color-layer-primary-3);--top-forms-border-color: var(--color-line-primary-1)}.top-button.top-style_outline.top-color_blue:hover{--top-button-color: var(--color-text-primary-1);--top-icon-color: var(--color-icon-primary-1);--top-icon2-color: var(--color-icon-primary-1);--top-forms-border-color: var(--color-line-primary-3)}.top-button.top-style_outline.top-color_green{--top-button-color: var(--color-text-positive-2);--top-icon-color: var(--color-icon-positive-2);--top-icon2-color: var(--color-icon-positive-2);--top-button-background-color-hover: var(--color-layer-positive-1);--top-button-background-color-active: var(--color-layer-positive-2);--top-button-background-color-selected: var(--color-layer-positive-3);--top-forms-border-color: var(--color-line-positive-1)}.top-button.top-style_outline.top-color_green:hover{--top-button-color: var(--color-text-positive-1);--top-icon-color: var(--color-icon-positive-1);--top-icon2-color: var(--color-icon-positive-1);--top-forms-border-color: var(--color-line-positive-3)}.top-button.top-style_outline.top-color_orange{--top-button-color: var(--color-text-warning-2);--top-icon-color: var(--color-icon-warning-2);--top-icon2-color: var(--color-icon-warning-2);--top-button-background-color-hover: var(--color-layer-warning-1);--top-button-background-color-active: var(--color-layer-warning-2);--top-button-background-color-selected: var(--color-layer-warning-3);--top-forms-border-color: var(--color-line-warning-1)}.top-button.top-style_outline.top-color_orange:hover{--top-button-color: var(--color-text-warning-1);--top-icon-color: var(--color-icon-warning-1);--top-icon2-color: var(--color-icon-warning-1);--top-forms-border-color: var(--color-line-warning-3)}.top-button.top-style_outline.top-color_red{--top-button-color: var(--color-text-negative-2);--top-icon-color: var(--color-icon-negative-2);--top-icon2-color: var(--color-icon-negative-2);--top-button-background-color-hover: var(--color-layer-negative-1);--top-button-background-color-active: var(--color-layer-negative-2);--top-button-background-color-selected: var(--color-layer-negative-3);--top-forms-border-color: var(--color-line-negative-1)}.top-button.top-style_outline.top-color_red:hover{--top-button-color: var(--color-text-negative-1);--top-icon-color: var(--color-icon-negative-1);--top-icon2-color: var(--color-icon-negative-1);--top-forms-border-color: var(--color-line-negative-3)}.top-button.top-style_outline.top-color_pink{--top-button-color: var(--color-text-info-2);--top-icon-color: var(--color-icon-info-2);--top-icon2-color: var(--color-icon-info-2);--top-button-background-color-hover: var(--color-layer-info-1);--top-button-background-color-active: var(--color-layer-info-2);--top-button-background-color-selected: var(--color-layer-info-3);--top-forms-border-color: var(--color-line-info-1)}.top-button.top-style_outline.top-color_pink:hover{--top-button-color: var(--color-text-info-1);--top-icon-color: var(--color-icon-info-1);--top-icon2-color: var(--color-icon-info-1);--top-forms-border-color: var(--color-line-info-3)}.top-button.top-style_soft{--top-shadow-darken: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none}.top-button.top-style_soft.top-color_theme{--top-button-color: var(--color-text-1);--top-icon-color: var(--color-icon-2);--top-icon2-color: var(--color-icon-2);--top-button-background-color: var(--color-layer-secondary-1);--top-button-background-color-hover: var(--color-layer-secondary-3);--top-button-background-color-active: var(--color-layer-secondary-4);--top-button-background-color-selected: var(--color-layer-secondary-3)}.top-button.top-style_soft.top-color_blue{--top-button-color: var(--color-text-primary-2);--top-icon-color: var(--color-icon-primary-2);--top-icon2-color: var(--color-icon-primary-2);--top-button-background-color: var(--color-layer-primary-1);--top-button-background-color-hover: var(--color-layer-primary-3);--top-button-background-color-active: var(--color-layer-primary-4);--top-button-background-color-selected: var(--color-layer-primary-3)}.top-button.top-style_soft.top-color_green{--top-button-color: var(--color-text-positive-2);--top-icon-color: var(--color-icon-positive-2);--top-icon2-color: var(--color-icon-positive-2);--top-button-background-color: var(--color-layer-positive-1);--top-button-background-color-hover: var(--color-layer-positive-3);--top-button-background-color-active: var(--color-layer-positive-4);--top-button-background-color-selected: var(--color-layer-positive-3)}.top-button.top-style_soft.top-color_orange{--top-button-color: var(--color-text-warning-2);--top-icon-color: var(--color-icon-warning-2);--top-icon2-color: var(--color-icon-warning-2);--top-button-background-color: var(--color-layer-warning-1);--top-button-background-color-hover: var(--color-layer-warning-3);--top-button-background-color-active: var(--color-layer-warning-4);--top-button-background-color-selected: var(--color-layer-warning-3)}.top-button.top-style_soft.top-color_red{--top-button-color: var(--color-text-negative-2);--top-icon-color: var(--color-icon-negative-2);--top-icon2-color: var(--color-icon-negative-2);--top-button-background-color: var(--color-layer-negative-1);--top-button-background-color-hover: var(--color-layer-negative-3);--top-button-background-color-active: var(--color-layer-negative-4);--top-button-background-color-selected: var(--color-layer-negative-3)}.top-button.top-style_soft.top-color_pink{--top-button-color: var(--color-text-info-2);--top-icon-color: var(--color-icon-info-2);--top-icon2-color: var(--color-icon-info-2);--top-button-background-color: var(--color-layer-info-1);--top-button-background-color-hover: var(--color-layer-info-3);--top-button-background-color-active: var(--color-layer-info-4);--top-button-background-color-selected: var(--color-layer-info-3)}.top-button.top-style_transparent{--top-shadow-darken: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none;--top-button-color: var(--color-text-1);--top-button-background-color: transparent;--top-button-background-color-hover: transparent;--top-button-background-color-active: transparent;--top-button-background-color-selected: var(--color-layer-secondary-2)}.top-button.top-style_transparent:hover{opacity:.8}.top-button.top-style_transparent.top-color_blue{--top-button-color: var(--color-text-primary-2)}.top-button.top-style_transparent.top-color_green{--top-button-color: var(--color-text-positive-2)}.top-button.top-style_transparent.top-color_orange{--top-button-color: var(--color-text-warning-2)}.top-button.top-style_transparent.top-color_red{--top-button-color: var(--color-text-negative-2)}.top-button.top-style_transparent.top-color_pink{--top-button-color: var(--color-text-info-1)}.top-button{--top-button-color: var(--color-white);--top-button-background-color: transparent;--top-button-background-color-hover: var(--top-button-background-color);--top-button-background-color-active: var(--top-button-background-color-hover);--top-button-background-color-selected: var(--top-button-background-color-hover);--top-button-box-shadow: none;--top-button-box-shadow-hover: var(--top-shadow-darken-2);--top-button-box-shadow-active: var(--top-shadow-darken-3);--top-button-box-shadow-selected: var(--top-shadow-darken-3);--top-forms-border-width: 0px;--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding))}.top-button.top-size_l{--top-forms-padding: var(--top-forms-padding_l);--top-forms-base-height: var(--top-forms-base-height_l)}.top-button.top-size_xl{--top-forms-padding: var(--top-forms-padding_xl);--top-forms-base-height: var(--top-forms-base-height_xl)}.top-forms-optionLabel{flex-grow:1}.top-forms-optionLabel_title{color:var(--color-text-1);min-height:var(--top-forms-option-height);display:flex;align-items:center}.top-forms-optionLabel_title-disabled{color:var(--color-text-3)}.top-forms-optionLabel_description{color:var(--color-text-2);font-size:.85em;line-height:var(--top-forms-option-height)}.top-forms-optionLabel_description-disabled{color:var(--color-text-3)}.top-checkbox{cursor:pointer;display:inline-flex}.top-checkbox_input{cursor:inherit;border-radius:4px;background:var(--content-background-color);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-checkbox_input:before{content:" ";color:#fff;font-family:Topvisor-2;font-size:16px}.top-checkbox_input:hover{border-color:var(--top-forms-border-color-hover);background:var(--color-theme-100)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--color-bg-primary-5);background:var(--color-bg-primary-5)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--color-bg-primary-3);background:var(--color-bg-primary-3)}.top-checkbox_input:disabled{border-color:var(--color-line-1);background:var(--color-theme-100)}.top-checkbox_input:checked:disabled,.top-checkbox_input:indeterminate:disabled{border-color:transparent;background:var(--color-theme-400)}.top-checkbox_input.top-error{border-color:var(--color-bg-negative-4)}.top-checkbox_input.top-error:hover{border-color:var(--color-bg-negative-2)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-bg-negative-4)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-bg-negative-2)}.top-hint{--top-icon-size: 16px;--top-icon-width: var(--top-icon-size);border-radius:50%;background:var(--content-background-color);padding:1px;color:var(--color-icon-3);line-height:1;z-index:1;pointer-events:all}.top-hint:hover{color:var(--color-icon-2)}:root{--top-loadbar-duration: 10s;--top-loadbar-color: var(--color-line-primary-3)}.top-loadbar{background:var(--top-loadbar-color);width:0;height:4px;position:absolute;top:0;left:0;animation:top-loadbar var(--top-loadbar-duration) forwards}@keyframes top-loadbar{0%{width:4px}4%{width:4%}5%{width:5%}to{width:95%}}.top-input{--top-forms_clear-width: 0px;border-radius:var(--top-forms-radius);width:180px;position:relative;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-input_input{color:var(--color-text-2);background:var(--top-forms-background-color);height:var(--top-forms-base-height);padding:0;padding-right:max(var(--top-forms-padding),calc(var(--top-icon2-width) + var(--top-forms_clear-width)));padding-left:max(var(--top-forms-padding),var(--top-icon-width))}.top-input_input:hover{background:var(--top-forms-background-color-hover)}.top-input_input:focus{color:var(--color-text-1);border-color:var(--color-line-primary-3);outline:none}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color: var(--color-icon-4);--top-icon2-color: var(--color-icon-4);position:absolute;z-index:3;font-size:20px}.top-input[data-top-icon]:before{left:0}.top-input[data-top-icon2]:after{right:0}.top-input-withCleaner{--top-forms_clear-width: 24px}.top-input_cleaner[data-top-icon]{--top-icon-size: 16px;--top-icon-width: 20px;--top-icon-color: var(--color-icon-3);cursor:pointer;border-radius:50%;width:20px;height:16px;position:absolute;right:calc(var(--top-forms-border-width) + max(var(--top-icon2-width),var(--top-forms-padding) / 2));z-index:1;display:flex;align-items:center;justify-content:center}.top-input_cleaner[data-top-icon]:hover{--top-icon-color: var(--color-icon-2)}.top-input_input{width:50%;flex-grow:1}.top-input .top-loadbar{border-radius:var(--top-forms-radius) 0 0 0}.top-input-datepicker{width:calc(105px + var(--top-icon-width) + var(--top-icon2-width))}.top-input_input-date{opacity:0;position:absolute;inset:0;z-index:-1}.top-input_input-date::-webkit-inner-spin-button{display:none}.top-input_input-date::-webkit-calendar-picker-indicator{opacity:0}.top-inputRange{max-width:320px;vertical-align:baseline;display:inline-flex;gap:8px}.top-inputRange_dash{height:var(--top-forms-base-height);color:var(--color-text-4);align-self:flex-end;display:inline-flex;align-items:center}.top-inputRange>.top-input{flex-grow:1}:root{--top-radio-background-color: var(--content-background-color);--top-radio-background-color-hover: var(--top-radio-background-color);--top-radio-background-color-active: var(--top-radio-background-color)}.top-radio{cursor:pointer}.top-radio_input{border-radius:50%;background:var(--content-background-color);border:1px solid var(--color-line-3);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radio_input:hover{border-color:var(--color-line-3);background:var(--color-layer-secondary-1)}.top-radio_input:checked{border-color:var(--color-bg-primary-5);border-width:5px}.top-radio_input:checked:hover{border-color:var(--color-bg-primary-3)}.top-radio_input:disabled{border-color:var(--color-line-1-opacity);background:var(--color-theme-100)}.top-radio_input:checked:disabled{border-color:var(--color-theme-400)}.top-radio_input.top-error{border-color:var(--color-bg-negative-5)}.top-radio_input.top-error:hover{border-color:var(--color-bg-negative-4)}.top-checkboxSwitcher{cursor:pointer;display:inline-flex;gap:4px}.top-checkboxSwitcher_input{border-radius:9px;border:none;background:var(--color-layer-secondary-2);width:36px;height:18px;position:relative}.top-checkboxSwitcher_input:before{content:"";border-radius:50%;background:var(--color-white);width:12px;height:12px;margin:3px;position:absolute;top:0;left:0;transition:left .1s}.top-checkboxSwitcher_input:hover{background:var(--color-layer-secondary-4)}.top-checkboxSwitcher_input:checked{background:var(--color-bg-primary-5)}.top-checkboxSwitcher_input:checked:hover{background:var(--color-bg-primary-3)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input:disabled{background:var(--color-theme-400)}.top-checkboxSwitcher_input.top-error{background:var(--color-layer-negative-3)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-layer-negative-4)}.top-checkboxSwitcher_input.top-error:checked{background:var(--color-bg-negative-5)}.top-checkboxSwitcher_input.top-error:checked:hover{background:var(--color-bg-negative-4)}.top-textarea{width:180px;display:inline-flex;align-items:center;position:relative}.top-textarea_textarea{color:var(--color-text-1);background:var(--top-forms-background-color);width:100%;padding:var(--top-forms-padding);resize:none}.top-textarea_textarea:hover{background:var(--top-forms-background-color-hover)}.top-textarea_textarea:focus{border-color:var(--color-line-primary-1);outline:none}.top-textarea_textarea.top-textarea_textarea-expandable{width:100%;height:100%;overflow:hidden;position:absolute;top:0;left:0}.top-textarea_pseudoContent{box-sizing:border-box;min-height:var(--bb7a0c5c);padding:var(--top-forms-padding);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;opacity:0;z-index:-1}.top-textarea_hint{position:absolute;top:2px;right:2px}.top-select{color:var(--color-text-1);--top-icon-color: var(--color-icon-2);--top-icon2-color: var(--color-icon-2);align-items:center;width:180px;max-width:100%;display:inline-flex}.top-select-error{--top-icon-color: var(--color-icon-negative-2);--top-icon2-color: var(--color-icon-negative-2)}.top-select_select{background-color:var(--top-forms-background-color);padding-left:var(--top-forms-padding);text-indent:clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)));width:100%;height:var(--top-forms-base-height);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select_select:disabled{color:var(--color-text-3)}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option:not(:disabled){background:var(--content-background-color);color:var(--color-text-1)}.top-select option:disabled{background:unset;color:unset}@-moz-document url-prefix(){.top-select_select{text-indent:calc(clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)))/2)}}@media only screen and (min-width: 900px){.top-changer{cursor:pointer;border-radius:100%;width:0;transform:translate(-44px);color:var(--color-text-2);font-size:16px;line-height:1;display:none;z-index:2;order:4}.top-changer:hover{color:var(--color-icon-primary-2)}.top-changer:after{content:"";background-color:var(--top-forms-background-color);font-family:Topvisor-2}*:hover>.top-changer{display:block}}
@@ -1 +1 @@
1
- .top-editArea{display:flex;flex-direction:column;gap:6px}.top-editArea_title{font-size:12px}.top-editArea_form{flex-direction:column}.top-editArea_form:hover{border-color:var(--top-forms-border-color-hover)}.top-editArea_form.top-focus{border-color:var(--color-line-primary-1);outline:none}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{border:none;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;min-height:32px;justify-content:flex-end;gap:var(--top-forms-padding)}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);margin-bottom:env(keyboard-inset-height,0);position:fixed;bottom:0;right:0;left:0;z-index:2;gap:0}.top-editArea-attachedToKeyboard .top-editArea_form{border-radius:0;border:none;border-top:1px solid var(--top-forms-border-color)}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}.top-editArea-attachedToKeyboard .top-button.top-editArea_button{min-width:auto;padding:0}.top-editInput{width:220px;flex-grow:1;display:flex;align-items:flex-end;gap:var(--top-gap-1)}.top-editInput .top-input{width:unset;flex-grow:1}.top-scrollBarXHidding{scrollbar-width:none;overflow-x:auto;overflow-y:hidden}.top-scrollBarXHidding:hover{scrollbar-width:thin}.top-scrollBarXHidding::-webkit-scrollbar{height:6px;display:none}.top-scrollBarXHidding:hover::-webkit-scrollbar{display:block;scrollbar-width:thin}.top-scrollBarXHidding::-webkit-scrollbar-track{background-color:transparent;box-shadow:inset #0000000f 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-track:hover{box-shadow:inset #00000014 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-track:active{box-shadow:inset #0000001a 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-thumb{background-color:var(--color-line-1-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-thumb:hover{background-color:var(--color-line-2-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-thumb:active{background-color:var(--color-line-3-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-button{width:0;height:0}.top-radioGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;background-color:var(--color-bg-2);height:var(--top-forms-base-height);padding:2px;gap:2px;display:flex;align-items:flex-start}.top-radioGroup_item{color:var(--color-text-2);cursor:pointer;box-sizing:border-box;border-radius:6px;height:calc(var(--top-forms-base-height) - 4px);padding:0 16px;font-weight:400;white-space:nowrap;display:flex;align-items:center;justify-content:center;flex-grow:1;gap:4px}.top-radioGroup_item:hover{background-color:var(--color-bg-3);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-radioGroup_item-selected{color:var(--color-text-1);pointer-events:none;background-color:var(--color-bg-secondary-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-radioGroup_circle{content:"";box-sizing:border-box;border:1px solid var(--color-line-3-opacity);border-radius:50%;padding:3px;margin-left:auto;width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radioGroup_item:hover .top-radioGroup_circle:before{border-color:var(--color-line-primary-1)}.top-radioGroup_item-selected .top-radioGroup_circle{border-color:var(--color-line-primary-1);border-width:5px}.top-radioGroup_item-selected:hover .top-radioGroup_circle{border-color:var(--color-line-primary-2)}.top-radioGroup_item.top-disabled{--top-icon-color: var(--color-text-3);color:var(--color-text-3)}.top-radioGroup_item.top-disabled .top-radioGroup_circle{border-color:var(--color-theme-400);background-color:var(--color-theme-100)}.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle{border-color:var(--color-negative)}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1, 4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);min-height:22px;max-width:100%;color:var(--color-text-1);flex-grow:0;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-selector2_itemMultiDelete{--top-icon-size: 14px;--top-icon-width: 18px;--top-icon-color: var(--color-icon-1);display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width: 900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px;min-height:var(--top-forms-base-height);box-sizing:border-box;position:relative;display:flex;overflow:hidden;padding:var(--top-padding-1) var(--top-forms-padding);color:var(--top-forms-placeholder-color);border-radius:var(--top-radius-2);border:1px solid var(--top-forms-border-color);background:var(--top-forms-background-color)}.top-selector2-multiselect{width:unset;min-width:180px;padding:var(--top-padding-1)}.top-selector2.top-active{--top-forms-border-color: var(--top-forms-border-color-hover);--top-forms-background-color: var(--top-forms-background-color-hover)}.top-selector2_activeItems{display:flex;flex-wrap:wrap;gap:var(--top-padding-1);max-width:100%}.top-selector2_activeName{white-space:nowrap}.top-changer-selector{transform:translate(-16px)}
1
+ .top-editArea{display:flex;flex-direction:column;gap:6px}.top-editArea_title{font-size:12px}.top-editArea_form{flex-direction:column}.top-editArea_form:hover{border-color:var(--top-forms-border-color-hover)}.top-editArea_form.top-focus{border-color:var(--color-line-primary-2);outline:none}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{border:none;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;min-height:32px;justify-content:flex-end;gap:var(--top-forms-padding)}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);margin-bottom:env(keyboard-inset-height,0);position:fixed;bottom:0;right:0;left:0;z-index:2;gap:0}.top-editArea-attachedToKeyboard .top-editArea_form{border-radius:0;border:none;border-top:1px solid var(--top-forms-border-color)}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}.top-editArea-attachedToKeyboard .top-button.top-editArea_button{min-width:auto;padding:0}.top-editInput{width:220px;flex-grow:1;display:flex;align-items:flex-end;gap:var(--top-gap-1)}.top-editInput .top-input{width:unset;flex-grow:1}.top-scrollBarXHidding{scrollbar-width:none;overflow-x:auto;overflow-y:hidden}.top-scrollBarXHidding:hover{scrollbar-width:thin}.top-scrollBarXHidding::-webkit-scrollbar{height:6px;display:none}.top-scrollBarXHidding:hover::-webkit-scrollbar{display:block;scrollbar-width:thin}.top-scrollBarXHidding::-webkit-scrollbar-track{background-color:transparent;box-shadow:inset #0000000f 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-track:hover{box-shadow:inset #00000014 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-track:active{box-shadow:inset #0000001a 0 0 0 10px}.top-scrollBarXHidding::-webkit-scrollbar-thumb{background-color:var(--color-line-1-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-thumb:hover{background-color:var(--color-line-2-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-thumb:active{background-color:var(--color-line-3-opacity)}.top-scrollBarXHidding::-webkit-scrollbar-button{width:0;height:0}.top-radioGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;background-color:var(--color-bg-2);height:var(--top-forms-base-height);padding:2px;gap:2px;display:flex;align-items:flex-start}.top-radioGroup_item{color:var(--color-text-2);cursor:pointer;box-sizing:border-box;border-radius:6px;height:calc(var(--top-forms-base-height) - 4px);padding:0 16px;font-weight:400;white-space:nowrap;display:flex;align-items:center;justify-content:center;flex-grow:1;gap:4px}.top-radioGroup_item:hover{background-color:var(--color-bg-3);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-radioGroup_item-selected{color:var(--color-text-1);pointer-events:none;background-color:var(--color-bg-secondary-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-radioGroup_circle{content:"";box-sizing:border-box;border:1px solid var(--color-line-3-opacity);border-radius:50%;padding:3px;margin-left:auto;width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radioGroup_item:hover .top-radioGroup_circle:before{border-color:var(--color-line-primary-1)}.top-radioGroup_item-selected .top-radioGroup_circle{border-color:var(--color-line-primary-1);border-width:5px}.top-radioGroup_item-selected:hover .top-radioGroup_circle{border-color:var(--color-line-primary-2)}.top-radioGroup_item.top-disabled{--top-icon-color: var(--color-text-3);color:var(--color-text-3)}.top-radioGroup_item.top-disabled .top-radioGroup_circle{border-color:var(--color-theme-400);background-color:var(--color-theme-100)}.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle{border-color:var(--color-negative)}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1, 4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);min-height:22px;max-width:100%;color:var(--color-text-1);flex-grow:0;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-selector2_itemMultiDelete{--top-icon-size: 14px;--top-icon-width: 18px;--top-icon-color: var(--color-icon-1);display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width: 900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px;min-height:var(--top-forms-base-height);box-sizing:border-box;position:relative;display:flex;overflow:hidden;padding:var(--top-padding-1) var(--top-forms-padding);color:var(--top-forms-placeholder-color);border-radius:var(--top-radius-2);border:1px solid var(--top-forms-border-color);background:var(--top-forms-background-color)}.top-selector2-multiselect{width:unset;min-width:180px;padding:var(--top-padding-1)}.top-selector2.top-active{--top-forms-border-color: var(--top-forms-border-color-hover);--top-forms-background-color: var(--top-forms-background-color-hover)}.top-selector2_activeItems{display:flex;flex-wrap:wrap;gap:var(--top-padding-1);max-width:100%}.top-selector2_activeName{white-space:nowrap}.top-changer-selector{transform:translate(-16px)}
package/assets/light.css CHANGED
@@ -1 +1 @@
1
- :root{--color-theme-0: rgba(255, 255, 255, 1);--color-theme-100: rgba(243, 246, 250, 1);--color-theme-150: rgba(229, 235, 243, 1);--color-theme-200: rgba(219, 226, 236, 1);--color-theme-250: rgba(204, 211, 222, 1);--color-theme-300: rgba(191, 199, 210, 1);--color-theme-350: rgba(172, 181, 193, 1);--color-theme-400: rgba(160, 170, 182, 1);--color-theme-450: rgba(131, 141, 156, 1);--color-theme-500: rgba(104, 112, 124, 1);--color-theme-550: rgba(96, 103, 113, 1);--color-theme-600: rgba(89, 95, 104, 1);--color-theme-650: rgba(78, 82, 89, 1);--color-theme-700: rgba(72, 75, 80, 1);--color-theme-750: rgba(56, 58, 62, 1);--color-theme-800: rgba(48, 50, 52, 1);--color-theme-850: rgba(45, 47, 48, 1);--color-theme-900: rgba(40, 41, 42, 1);--color-theme-950: rgba(33, 33, 34, 1);--color-theme-960: rgba(28, 28, 29, 1);--color-theme-970: rgba(22, 22, 23, 1);--color-theme-1000: rgba(0, 0, 0, 1);--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-primary-100: rgba(219, 234, 255, 1);--color-primary-200: rgba(189, 215, 255, 1);--color-primary-300: rgba(122, 175, 255, 1);--color-primary-400: rgba(61, 139, 255, 1);--color-primary-500: rgba(10, 108, 255, 1);--color-primary-600: rgba(0, 94, 235, 1);--color-primary-700: rgba(0, 84, 209, 1);--color-primary-800: rgba(0, 53, 133, 1);--color-primary-900: rgba(0, 31, 77, 1);--color-positive-100: rgba(195, 244, 207, 1);--color-positive-200: rgba(135, 232, 159, 1);--color-positive-300: rgba(52, 199, 89, 1);--color-positive-400: rgba(0, 163, 41, 1);--color-positive-500: rgba(0, 138, 34, 1);--color-positive-600: rgba(0, 122, 31, 1);--color-positive-700: rgba(0, 107, 27, 1);--color-positive-800: rgba(9, 73, 25, 1);--color-positive-900: rgba(5, 46, 15, 1);--color-warning-100: rgba(255, 230, 191, 1);--color-warning-200: rgba(255, 202, 122, 1);--color-warning-300: rgba(255, 155, 5, 1);--color-warning-400: rgba(209, 125, 0, 1);--color-warning-500: rgba(171, 104, 3, 1);--color-warning-600: rgba(150, 91, 3, 1);--color-warning-700: rgba(135, 82, 3, 1);--color-warning-800: rgba(84, 51, 2, 1);--color-warning-900: rgba(48, 29, 1, 1);--color-negative-100: rgba(255, 226, 224, 1);--color-negative-200: rgba(255, 202, 199, 1);--color-negative-300: rgba(255, 124, 117, 1);--color-negative-400: rgba(255, 59, 48, 1);--color-negative-500: rgba(235, 12, 0, 1);--color-negative-600: rgba(209, 10, 0, 1);--color-negative-700: rgba(189, 9, 0, 1);--color-negative-800: rgba(122, 6, 0, 1);--color-negative-900: rgba(71, 4, 0, 1);--color-info-100: rgba(241, 229, 255, 1);--color-info-200: rgba(229, 209, 255, 1);--color-info-300: rgba(197, 153, 255, 1);--color-info-400: rgba(171, 107, 255, 1);--color-info-500: rgba(151, 71, 255, 1);--color-info-600: rgba(134, 41, 255, 1);--color-info-700: rgba(116, 10, 255, 1);--color-info-800: rgba(73, 0, 168, 1);--color-info-900: rgba(44, 0, 102, 1);--color-layer-secondary-1: rgba(81, 107, 147, .1);--color-layer-secondary-2: rgba(81, 107, 147, .16);--color-layer-secondary-3: rgba(81, 107, 147, .2);--color-layer-secondary-4: rgba(81, 107, 147, .24);--color-layer-primary-1: rgba(10, 108, 255, .06);--color-layer-primary-2: rgba(10, 108, 255, .12);--color-layer-primary-3: rgba(10, 108, 255, .18);--color-layer-primary-4: rgba(10, 108, 255, .24);--color-layer-positive-1: rgba(0, 138, 34, .06);--color-layer-positive-2: rgba(0, 138, 34, .12);--color-layer-positive-3: rgba(0, 138, 34, .18);--color-layer-positive-4: rgba(0, 138, 34, .24);--color-layer-warning-1: rgba(255, 155, 5, .06);--color-layer-warning-2: rgba(255, 155, 5, .12);--color-layer-warning-3: rgba(255, 155, 5, .18);--color-layer-warning-4: rgba(255, 155, 5, .24);--color-layer-negative-1: rgba(235, 12, 0, .06);--color-layer-negative-2: rgba(235, 12, 0, .12);--color-layer-negative-3: rgba(235, 12, 0, .18);--color-layer-negative-4: rgba(235, 12, 0, .24);--color-layer-info-1: rgba(151, 71, 255, .06);--color-layer-info-2: rgba(151, 71, 255, .12);--color-layer-info-3: rgba(151, 71, 255, .18);--color-layer-info-4: rgba(151, 71, 255, .24);--color-top-3: #3198DD;--color-top-10: #21936C;--color-top-30: #1ABC9C;--color-top-50: #A6E0A3;--color-top-100: #C7D7D7;--color-top-10000: #FCC94A;--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: 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)}:root{--color-bg-1: var(--color-theme-150);--color-bg-2: var(--color-theme-100);--color-bg-3: var(--color-theme-0);--color-bg-secondary-1: var(--color-theme-0);--color-bg-secondary-2: var(--color-theme-100);--color-bg-secondary-3: var(--color-theme-150);--color-bg-primary-1: var(--color-primary-700);--color-bg-primary-2: var(--color-primary-500);--color-bg-primary-3: var(--color-primary-300);--color-bg-positive-1: var(--color-positive-600);--color-bg-positive-2: var(--color-positive-300);--color-bg-warning-1: var(--color-warning-600);--color-bg-warning-2: var(--color-warning-300);--color-bg-negative-1: var(--color-negative-700);--color-bg-negative-2: var(--color-negative-400);--color-bg-info-1: var(--color-info-700);--color-bg-info-2: var(--color-info-400);--color-text-1: var(--color-theme-850);--color-text-2: var(--color-theme-600);--color-text-3: var(--color-theme-450);--color-text-4: var(--color-theme-350);--color-text-1-inverse: var(--color-theme-0);--color-text-white: var(--color-white);--color-text-primary-1: var(--color-primary-600);--color-text-primary-2: var(--color-primary-500);--color-text-primary-3: var(--color-primary-400);--color-text-positive-1: var(--color-positive-600);--color-text-positive-2: var(--color-positive-500);--color-text-positive-3: var(--color-positive-400);--color-text-warning-1: var(--color-warning-500);--color-text-warning-2: var(--color-warning-400);--color-text-warning-3: var(--color-warning-300);--color-text-negative-1: var(--color-negative-600);--color-text-negative-2: var(--color-negative-500);--color-text-negative-3: var(--color-negative-400);--color-text-info-1: var(--color-info-600);--color-text-info-2: var(--color-info-500);--color-text-info-3: var(--color-info-400);--color-line-1: var(--color-theme-200);--color-line-2: var(--color-theme-250);--color-line-3: var(--color-theme-400);--color-line-1-opacity: rgba(14, 65, 142, .1);--color-line-2-opacity: rgba(191, 203, 218, .67);--color-line-3-opacity: rgba(143, 158, 178, .74);--color-line-primary-1: var(--color-primary-400);--color-line-primary-2: var(--color-primary-600);--color-line-positive-1: var(--color-positive-400);--color-line-positive-2: var(--color-positive-600);--color-line-warning-1: var(--color-warning-300);--color-line-warning-2: var(--color-warning-500);--color-line-negative-1: var(--color-negative-400);--color-line-negative-2: var(--color-negative-600);--color-line-info-1: var(--color-info-400);--color-line-info-2: var(--color-info-600);--color-icon-1: var(--color-theme-960);--color-icon-2: var(--color-theme-550);--color-icon-3: var(--color-theme-450);--color-icon-4: var(--color-theme-400);--color-icon-1-inverse: var(--color-theme-0);--color-icon-white: var(--color-white);--color-icon-primary-1: var(--color-primary-500);--color-icon-primary-2: var(--color-primary-700);--color-icon-positive-1: var(--color-positive-400);--color-icon-positive-2: var(--color-positive-600);--color-icon-warning-1: var(--color-warning-300);--color-icon-warning-2: var(--color-warning-400);--color-icon-negative-1: var(--color-negative-400);--color-icon-negative-2: var(--color-negative-600);--color-icon-info-1: var(--color-info-400);--color-icon-info-2: var(--color-info-500);--color-cell-secondary-1: #FCFCFD;--color-cell-secondary-2: #F5F6F9;--color-cell-secondary-3: #EAEDF2;--color-cell-secondary-4: #E0E4EC;--color-cell-secondary-5: #D5DBE5;--color-cell-primary-1: #F8FBFF;--color-cell-primary-2: #F0F6FF;--color-cell-primary-3: #E2EDFF;--color-cell-primary-4: #D3E5FF;--color-cell-primary-5: #C4DCFF;--color-cell-positive-1: #F7FBF8;--color-cell-positive-2: #F0F8F2;--color-cell-positive-3: #E0F1E4;--color-cell-positive-4: #D1EAD7;--color-cell-positive-5: #C2E3CA;--color-cell-warning-1: #FFFCF8;--color-cell-warning-2: #FFF9F0;--color-cell-warning-3: #FFF3E1;--color-cell-warning-4: #FFEDD2;--color-cell-warning-5: #FFE7C3;--color-cell-negative-1: #FEF8F7;--color-cell-negative-2: #FEF0F0;--color-cell-negative-3: #FDE2E0;--color-cell-negative-4: #FBD3D1;--color-cell-negative-5: #FAC5C2;--color-cell-info-1: #FCF9FF;--color-cell-info-2: #F9F4FF;--color-cell-info-3: #F3E9FF;--color-cell-info-4: #ECDEFF;--color-cell-info-5: #E6D3FF;--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(--content-background-color);--content-background-color: var(--color-bg-3)}:root{--top-forms-color: var(--color-text-1);--top-forms-color-disabled: var(--color-text-3);--top-forms-option-text-color: var(--color-text-primary-1);--top-forms-option-text-color-hover: var(--color-text-primary-2);--top-forms-icon-color: var(--color-icon-1);--top-forms-icon-color-disabled: var(--color-icon-4);--top-forms-option-icon-color: var(--color-icon-primary-1);--top-forms-option-icon-color-hover: var(--color-icon-primary-2);--top-forms-border-color: var(--color-line-1);--top-forms-border-color-hover: var(--color-line-3);--top-forms-border-color-active-hover: var(--color-line-primary-2);--top-forms-border-color-disabled: var(--color-line-3);--top-forms-option-border-color: var(--color-line-primary-1);--top-forms-option-border-color-hover: var(--color-line-primary-2);--top-forms-placeholder-color: var(--color-text-3);--top-forms-placeholder-color-active: var(--color-text-2);--top-forms-background-color: var(--color-bg-3);--top-forms-background-color-hover: var(--color-bg-3)}
1
+ :root{--color-theme-0: #FFFFFF;--color-theme-50: #F9FAFB;--color-theme-100: #F2F4F7;--color-theme-125: #ECEFF3;--color-theme-150: #E6EAF0;--color-theme-175: #DFE4EC;--color-theme-200: #D9DFE8;--color-theme-225: #D3DAE4;--color-theme-250: #CCD4E0;--color-theme-260: #C6CFDC;--color-theme-275: #C0CAD8;--color-theme-300: #B9C4D4;--color-theme-325: #B3BFD0;--color-theme-350: #ADBACD;--color-theme-360: #A6B4C9;--color-theme-375: #A0AFC5;--color-theme-400: #9AA9C1;--color-theme-410: #93A4BD;--color-theme-420: #8D9FB9;--color-theme-430: #8799B5;--color-theme-440: #8192B1;--color-theme-450: #7A8FAC;--color-theme-460: #7489AA;--color-theme-465: #6E84A6;--color-theme-470: #677FA2;--color-theme-475: #61799E;--color-theme-480: #5D7598;--color-theme-485: #597091;--color-theme-500: #556B8B;--color-theme-550: #516685;--color-theme-575: #4E6187;--color-theme-600: #4A5C78;--color-theme-625: #465772;--color-theme-650: #42536C;--color-theme-675: #3E4E64;--color-theme-700: #3A495F;--color-theme-710: #36445B;--color-theme-725: #323E52;--color-theme-750: #2F3A4C;--color-theme-800: #2B3546;--color-theme-850: #27313F;--color-theme-900: #232C39;--color-theme-925: #1F2733;--color-theme-950: #1B222C;--color-theme-955: #171C26;--color-theme-960: #131820;--color-theme-965: #101319;--color-theme-970: #0C0F13;--color-theme-1000: #000000;--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-primary-25: #F5F8FF;--color-primary-50: #EBF1FF;--color-primary-100: #E0EAFF;--color-primary-125: #D6E3FF;--color-primary-150: #CCDCFF;--color-primary-200: #C2D5FF;--color-primary-225: #B8CEFF;--color-primary-250: #A3C0FF;--color-primary-275: #8FB2FF;--color-primary-300: #7AA4FF;--color-primary-350: #6696FF;--color-primary-400: #5289FF;--color-primary-450: #3D7BFF;--color-primary-500: #2D6EFF;--color-primary-550: #1E62F6;--color-primary-600: #0F56F0;--color-primary-650: #1351D8;--color-primary-700: #154CC1;--color-primary-720: #1645AB;--color-primary-740: #174095;--color-primary-760: #183981;--color-primary-780: #18366D;--color-primary-800: #162C5A;--color-primary-825: #142448;--color-primary-850: #18233E;--color-primary-900: #1C2436;--color-primary-950: #1F1E2E;--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: #B1F1C1;--color-positive-275: #A8EFB2;--color-positive-300: #8BE69B;--color-positive-350: #87E89F;--color-positive-400: #6CE58A;--color-positive-450: #5CE084;--color-positive-500: #4DD96E;--color-positive-550: #41C865;--color-positive-600: #36C95B;--color-positive-650: #36B356;--color-positive-700: #36A150;--color-positive-720: #348D4A;--color-positive-740: #327B49;--color-positive-760: #2F6A46;--color-positive-780: #2C5940;--color-positive-825: #223A30;--color-positive-850: #252F27;--color-positive-900: #282A29;--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: #EBDBFF;--color-info-125: #E5D1FF;--color-info-150: #DFC7FF;--color-info-200: #D9BDFF;--color-info-225: #D4B2FF;--color-info-250: #C89EFF;--color-info-275: #BC8AFF;--color-info-300: #B078FF;--color-info-350: #A561FF;--color-info-400: #9952FF;--color-info-450: #8F38FF;--color-info-500: #8414F3;--color-info-550: #7913F5;--color-info-600: #6F0FEB;--color-info-650: #6615D3;--color-info-700: #5E15BD;--color-info-720: #5415AA;--color-info-740: #4B128B;--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-secondary-1: rgba(97, 121, 158, .1);--color-layer-secondary-2: rgba(97, 121, 158, .14);--color-layer-secondary-3: rgba(97, 121, 158, .18);--color-layer-secondary-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-cell-1: #FCFCFD;--color-cell-2: #F5F6F9;--color-cell-3: #EAEFF2;--color-cell-4: #E0E4EC;--color-cell-5: #D5DBE5;--color-cell-primary-1: #F7F9FF;--color-cell-primary-2: #EEF3FF;--color-cell-primary-3: #E6EEFF;--color-cell-primary-4: #DDE8FE;--color-cell-primary-5: #D5E2FE;--color-cell-positive-1: #F8FEF9;--color-cell-positive-2: #F1FCF4;--color-cell-positive-3: #EAFBEF;--color-cell-positive-4: #E3F9E8;--color-cell-positive-5: #DBF8E3;--color-cell-warning-1: #FFFBF7;--color-cell-warning-2: #FFF7F0;--color-cell-warning-3: #FFF4E8;--color-cell-warning-4: #FFF0E1;--color-cell-warning-5: #FFECDA;--color-cell-negative-1: #FFF7F8;--color-cell-negative-2: #FEF0F1;--color-cell-negative-3: #FEE7E9;--color-cell-negative-4: #FEDFE3;--color-cell-negative-5: #FDD7DC;--color-cell-info-1: #FAF6FF;--color-cell-info-2: #F5EEFF;--color-cell-info-3: #F0E5FF;--color-cell-info-4: #EBDBFE;--color-cell-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;--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-bg-3);--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: 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)}:root{--color-bg-1: var(--color-theme-200);--color-bg-2: var(--color-theme-125);--color-bg-3: var(--color-theme-0);--color-bg-secondary-1: var(--color-theme-0);--color-bg-secondary-2: var(--color-theme-50);--color-bg-secondary-3: var(--color-theme-100);--color-bg-secondary-4: var(--color-theme-125);--color-bg-secondary-5: var(--color-theme-150);--color-bg-secondary-6: var(--color-theme-175);--color-bg-secondary-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-740);--color-bg-primary-2: var(--color-primary-720);--color-bg-primary-3: var(--color-primary-700);--color-bg-primary-4: var(--color-primary-650);--color-bg-primary-5: var(--color-primary-600);--color-bg-primary-6: var(--color-primary-550);--color-bg-primary-7: var(--color-primary-500);--color-bg-primary-8: var(--color-primary-450);--color-bg-primary-9: var(--color-primary-400);--color-bg-primary-10: var(--color-primary-350);--color-bg-positive-1: var(--color-positive-760);--color-bg-positive-2: var(--color-positive-740);--color-bg-positive-3: var(--color-positive-720);--color-bg-positive-4: var(--color-positive-700);--color-bg-positive-5: var(--color-positive-650);--color-bg-positive-6: var(--color-positive-600);--color-bg-positive-7: var(--color-positive-550);--color-bg-positive-8: var(--color-positive-500);--color-bg-positive-9: var(--color-positive-450);--color-bg-positive-10: var(--color-positive-400);--color-bg-warning-1: var(--color-warning-740);--color-bg-warning-2: var(--color-warning-720);--color-bg-warning-3: var(--color-warning-700);--color-bg-warning-4: var(--color-warning-650);--color-bg-warning-5: var(--color-warning-600);--color-bg-warning-6: var(--color-warning-550);--color-bg-warning-7: var(--color-warning-500);--color-bg-warning-8: var(--color-warning-450);--color-bg-warning-9: var(--color-warning-400);--color-bg-warning-10: var(--color-warning-350);--color-bg-negative-1: var(--color-negative-720);--color-bg-negative-2: var(--color-negative-700);--color-bg-negative-3: var(--color-negative-650);--color-bg-negative-4: var(--color-negative-600);--color-bg-negative-5: var(--color-negative-550);--color-bg-negative-6: var(--color-negative-500);--color-bg-negative-7: var(--color-negative-450);--color-bg-negative-8: var(--color-negative-400);--color-bg-negative-9: var(--color-negative-350);--color-bg-negative-10: var(--color-negative-300);--color-bg-info-1: var(--color-info-700);--color-bg-info-2: var(--color-info-650);--color-bg-info-3: var(--color-info-550);--color-bg-info-4: var(--color-info-450);--color-bg-info-5: var(--color-info-400);--color-bg-info-6: var(--color-info-350);--color-bg-info-7: var(--color-info-300);--color-bg-info-8: var(--color-info-275);--color-bg-info-9: var(--color-info-250);--color-bg-info-10: var(--color-info-225);--color-text-1: var(--color-theme-850);--color-text-2: var(--color-theme-600);--color-text-3: var(--color-theme-450);--color-text-4: var(--color-theme-350);--color-text-1-inverse: var(--color-theme-0);--color-text-white: var(--color-white);--color-text-primary-1: var(--color-primary-720);--color-text-primary-2: var(--color-primary-600);--color-text-primary-3: var(--color-primary-400);--color-text-primary-4: var(--color-primary-275);--color-text-positive-1: var(--color-positive-740);--color-text-positive-2: var(--color-positive-650);--color-text-positive-3: var(--color-positive-500);--color-text-positive-4: var(--color-positive-400);--color-text-warning-1: var(--color-warning-700);--color-text-warning-2: var(--color-warning-550);--color-text-warning-3: var(--color-warning-450);--color-text-warning-4: var(--color-warning-350);--color-text-negative-1: var(--color-negative-720);--color-text-negative-2: var(--color-negative-550);--color-text-negative-3: var(--color-negative-400);--color-text-negative-4: var(--color-negative-300);--color-text-info-1: var(--color-info-740);--color-text-info-2: var(--color-info-600);--color-text-info-3: var(--color-info-400);--color-text-info-4: var(--color-info-300);--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-100);--color-line-primary-2: var(--color-primary-300);--color-line-primary-3: var(--color-primary-500);--color-line-primary-4: 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-100);--color-line-positive-2: var(--color-positive-300);--color-line-positive-3: var(--color-positive-500);--color-line-positive-4: 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-100);--color-line-warning-2: var(--color-warning-300);--color-line-warning-3: var(--color-warning-500);--color-line-warning-4: var(--color-warning-700);--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-100);--color-line-negative-2: var(--color-negative-300);--color-line-negative-3: var(--color-negative-500);--color-line-negative-4: var(--color-negative-720);--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-100);--color-line-info-2: var(--color-info-300);--color-line-info-3: var(--color-info-500);--color-line-info-4: var(--color-info-740);--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);--color-icon-1: var(--color-theme-960);--color-icon-2: var(--color-theme-550);--color-icon-3: var(--color-theme-450);--color-icon-4: var(--color-theme-400);--color-icon-1-inverse: var(--color-theme-0);--color-icon-white: var(--color-white);--color-icon-primary-1: var(--color-primary-720);--color-icon-primary-2: var(--color-primary-600);--color-icon-primary-3: var(--color-primary-400);--color-icon-primary-4: var(--color-primary-275);--color-icon-positive-1: var(--color-positive-740);--color-icon-positive-2: var(--color-positive-650);--color-icon-positive-3: var(--color-positive-500);--color-icon-positive-4: var(--color-positive-400);--color-icon-warning-1: var(--color-warning-700);--color-icon-warning-2: var(--color-warning-550);--color-icon-warning-3: var(--color-warning-450);--color-icon-warning-4: var(--color-warning-350);--color-icon-negative-1: var(--color-negative-720);--color-icon-negative-2: var(--color-negative-550);--color-icon-negative-3: var(--color-negative-400);--color-icon-negative-4: var(--color-negative-300);--color-icon-info-1: var(--color-info-740);--color-icon-info-2: var(--color-info-600);--color-icon-info-3: var(--color-info-400);--color-icon-info-4: var(--color-info-300);--color-object-primary: var(--color-primary-500);--color-object-positive: var(--color-positive-550);--color-object-warning: var(--color-warning-550);--color-object-negative: var(--color-negative-500);--color-object-info: var(--color-info-450);--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(--content-background-color);--content-background-color: var(--color-bg-3)}:root{--top-forms-color: var(--color-text-1);--top-forms-color-disabled: var(--color-text-3);--top-forms-option-text-color: var(--color-text-primary-2);--top-forms-option-text-color-hover: var(--color-text-primary-1);--top-forms-icon-color: var(--color-icon-1);--top-forms-icon-color-disabled: var(--color-icon-4);--top-forms-option-icon-color: var(--color-icon-primary-2);--top-forms-option-icon-color-hover: var(--color-icon-primary-1);--top-forms-border-color: var(--color-line-1);--top-forms-border-color-hover: var(--color-line-3);--top-forms-border-color-active-hover: var(--color-line-primary-2);--top-forms-border-color-disabled: var(--color-line-1);--top-forms-option-border-color: var(--color-line-primary-3);--top-forms-option-border-color-hover: var(--color-line-primary-2);--top-forms-placeholder-color: var(--color-text-3);--top-forms-placeholder-color-active: var(--color-text-2);--top-forms-background-color: var(--color-bg-3);--top-forms-background-color-hover: var(--color-bg-3)}
package/assets/menu.css CHANGED
@@ -1 +1 @@
1
- .top-menu{--scroll-thumb-color: var(--color-line-1);--scroll-thumb-color-hover: var(--color-line-2);--scroll-thumb-color-active: var(--color-line-3);max-width:100%;display:flex;align-items:flex-start;gap:var(--top-gap-2);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.top-menu::-webkit-scrollbar{display:none}.top-menu .top-menu_item{--top-button-color: var(--color-text-2);outline-offset:-2px!important;min-width:0;margin:0;flex-shrink:0}.top-menu .top-menu_item[data-top-icon]{--top-icon-color: var(--color-text-2)}.top-menu_selectAll{position:sticky;right:0;background:var(--content-background-color);border-left:1px solid var(--color-line-1-opacity);padding-left:var(--top-padding-1);box-shadow:var(--content-background-color) var(--top-padding-2) 0}.top-menu.top-style_default .top-menu_item{--top-forms-radius: 0;--top-forms-border-color: transparent;--top-forms-border-width: 2px;filter:none;box-shadow:none;border:none;border-bottom:var(--top-forms-border-width) solid var(--top-forms-border-color);background:none}.top-menu.top-style_default .top-menu_item:hover{--top-icon-color: var(--color-text-1);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-2-opacity)}.top-menu.top-style_default .top-menu_item:active,.top-menu.top-style_default .top-menu_item.top-active{--top-icon-color: var(--color-icon-primary-2);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-primary-1)}.top-menu.top-style_default .top-menu_selectAll{padding-left:var(--top-padding-2)}.top-menu.top-style_bar{border-radius:var(--top-radius-3);border:1px solid var(--color-line-2-opacity);padding:var(--top-padding-1);gap:3px}.top-menu.top-style_bar .top-menu_item{--top-button-background-color-hover: var(--color-layer-secondary-1);--top-button-background-color-active: var(--color-layer-secondary-2);--top-button-background-color-selected: var(--color-layer-primary-1);position:relative}.top-menu.top-style_bar .top-menu_item:hover{--top-icon-color: var(--color-icon-1);--top-button-color: var(--color-text-1)}.top-menu.top-style_bar .top-menu_item.top-active{--top-icon-color: var(--color-icon-primary-2);--top-button-color: var(--color-text-primary-1)}.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after{content:"";background:var(--color-line-1-opacity);width:1px;height:60%;display:block;position:absolute;left:-2px}.top-menu.top-style_bar .top-menu_item.top-active+.top-menu_item:after,.top-menu.top-style_bar .top-menu_item:hover+.top-menu_item:after{content:none!important}.top-menu.top-unwrap-x{padding-right:var(--top-unwrap-x);padding-left:var(--top-unwrap-x);margin-right:calc(0px - var(--top-unwrap-x));margin-left:calc(0px - var(--top-unwrap-x))}
1
+ .top-menu{--scroll-thumb-color: var(--color-line-1);--scroll-thumb-color-hover: var(--color-line-2);--scroll-thumb-color-active: var(--color-line-3);max-width:100%;display:flex;align-items:flex-start;gap:var(--top-gap-2);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.top-menu::-webkit-scrollbar{display:none}.top-menu .top-menu_item{--top-button-color: var(--color-text-2);outline-offset:-2px!important;min-width:0;margin:0;flex-shrink:0}.top-menu .top-menu_item[data-top-icon]{--top-icon-color: var(--color-icon-2)}.top-menu_selectAll{position:sticky;right:0;background:var(--content-background-color);border-left:1px solid var(--color-line-1);padding-left:var(--top-padding-1);box-shadow:var(--content-background-color) var(--top-padding-2) 0}.top-menu.top-style_default .top-menu_item{--top-forms-radius: 0;--top-forms-border-color: transparent;--top-forms-border-width: 2px;filter:none;box-shadow:none;border:none;border-bottom:var(--top-forms-border-width) solid var(--top-forms-border-color);background:none}.top-menu.top-style_default .top-menu_item:hover{--top-icon-color: var(--color-icon-1);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-2)}.top-menu.top-style_default .top-menu_item:active,.top-menu.top-style_default .top-menu_item.top-active{--top-icon-color: var(--color-icon-primary-2);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-primary-3)}.top-menu.top-style_default .top-menu_selectAll{padding-left:var(--top-padding-2)}.top-menu.top-style_bar{border-radius:var(--top-radius-3);border:1px solid var(--color-line-2);padding:var(--top-padding-1);gap:3px}.top-menu.top-style_bar .top-menu_item{--top-button-background-color-hover: var(--color-layer-secondary-1);--top-button-background-color-active: var(--color-layer-secondary-2);--top-button-background-color-selected: var(--color-layer-primary-1);position:relative}.top-menu.top-style_bar .top-menu_item:hover{--top-icon-color: var(--color-icon-1);--top-button-color: var(--color-text-1)}.top-menu.top-style_bar .top-menu_item.top-active{--top-icon-color: var(--color-icon-primary-2);--top-button-color: var(--color-text-primary-2)}.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after{content:"";background:var(--color-line-1-opacity);width:1px;height:60%;display:block;position:absolute;left:-2px}.top-menu.top-style_bar .top-menu_item.top-active+.top-menu_item:after,.top-menu.top-style_bar .top-menu_item:hover+.top-menu_item:after{content:none!important}.top-menu.top-unwrap-x{padding-right:var(--top-unwrap-x);padding-left:var(--top-unwrap-x);margin-right:calc(0px - var(--top-unwrap-x));margin-left:calc(0px - var(--top-unwrap-x))}
package/assets/popup.css CHANGED
@@ -1 +1 @@
1
- .top-input-popupWidgetInput{--top-loadbar-color: var(--color-line-2);width:100%}.top-input_input-popupWidgetInput{border:none;background:var(--color-layer-secondary-1)}.top-input_input-popupWidgetInput:hover{background:var(--color-layer-secondary-2)}.top-input_input-popupWidgetInput:focus{background:var(--color-layer-secondary-3);outline:unset}
1
+ .top-input-popupWidgetInput{--top-loadbar-color: var(--color-line-2);width:100%}.top-input_input-popupWidgetInput{border:none;background:var(--color-layer-secondary-1)}.top-input_input-popupWidgetInput:hover{background:var(--color-layer-secondary-2)}.top-input_input-popupWidgetInput:focus{background:var(--color-bg-3);outline-offset:0}
package/assets/tabs.css CHANGED
@@ -1 +1 @@
1
- .top-tabs{background:var(--content-background-color);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-opacity)}.top-tabs_tabInput:checked+.top-tabs_tabLabel{border-color:var(--color-line-primary-1);color:var(--color-text-primary-1)}.top-tabs_tabLabel.top-disabled{color:var(--color-text-3)}.top-tabs_content{padding:14px;overflow:auto;display:none}
1
+ .top-tabs{background:var(--content-background-color);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-3);color:var(--color-text-primary-2)}.top-tabs_tabLabel.top-disabled{color:var(--color-text-3)}.top-tabs_content{padding:14px;overflow:auto;display:none}
package/core/app.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-KR6uVX5Z.amd","../.chunks/i18n-eDh3Aaw9.amd","vue","lodash","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd"],function(_,c,a,u,g,v,I,L,w){"use strict";if(typeof g>"u")var g=window.Vue;const E={mounted:function(s,t){t.value.disabled||s.focus()}};let h;const y={mounted(s,t,e){const o=t.value||"top-sticky";h=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]}),h.observe(s)},unmounted(s,t,e){h==null||h.disconnect()}};let S=!1,l;const f=new Map,O=(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)"},k=s=>{let t=window.innerHeight;window.addEventListener("scroll",()=>{f.forEach(e=>O(e,t))},{passive:!0}),l=new IntersectionObserver(e=>{t=window.innerHeight,e.forEach(o=>{const n=o.target;if(o.intersectionRatio<.1?f.delete(n):f.set(n,n),o.intersectionRatio===0){const{distance:i}=n.directiveSwipUpOptions;n.style.transform=`translateY(${i}px)`}})},{threshold:.1})},C={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},S||(k(),S=!0),l.observe(s))},unmounted(s,t,e){f.delete(s),l==null||l.unobserve(s)}},m=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)},b=(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},N={mounted(s,t,e){var o;(o=m(s))==null||o.tooltip(b(t,e))},updated(s,t,e,o){var r;const n=b(t,e),i=(r=m(s))==null?void 0:r.tooltip("instance");i&&(i.options={...i.options,...n})},unmounted(s,t,e){var o;(o=m(s))==null||o.tooltip("destroy")}},H={install:(s,t)=>{s.config.globalProperties.$core=a.Core;for(const e in t)a.Core.state[e]=t[e];a.Core._setState(),s.directive("top-focus",E),s.directive("top-sticky",y),s.directive("top-swim-up",C),s.directive("top-tooltip",N),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),s.component("TopInput",a.TopInput$1),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 P{#e;#t;#o;#n;#d;#s=[];#i=[];#p=[];#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.#d=t.options.Api,this.#s=t.options.tpaNamesUrlHash||[],this.#i=t.options.tpaNamesStorage||[],this.#p=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.#h(),this.#h(!0),this.#g()),this.#T(),this.#w();const e=v.debounce(()=>{this.#f(),this.#m()});t.store.$subscribe(e)}async genGuestLink(t,e){const o=this.#l();e=Object.assign(e,Object.fromEntries(o));const n=await this.#d.gen(t,"fetchColumn").call({},e);n!=null&&n.errors||(await I.setClipboard(n.result),alert("Link copied"))}#l(){const t=new Map;return this.#a.forEach(e=>{const o=L.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}})}#u(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)}#h(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.#p,n="state:"+this.#e+":"+location.pathname),o.forEach(r=>{const d=this.#t[r];e.set(r,d)});const i=this.#u(e);o.forEach(r=>{const d=i.get(r);localStorage.setItem(n+":"+r,d)})}#T(){var i,r,d;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(p=>{const T=t[p];e.set(p,T)});const o=this.#c(e);this.#r(o);const n=$(".mod_guest_title");if(((d=this.#t.competitorsIds)==null?void 0:d.length)===1&&this.#o.page.data.competitors){let p=this.#o.page.data.competitors.filter(T=>T.id===t.competitorsIds[0]);p.length&&($("a",n).attr("href","http://"+p[0].url),$("a",n).text(p[0].name))}}#w(){this.#t.regionsIndexes&&g.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&&g.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 R=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 P(t)};c.Core=a.Core,c.i18nPlugin=u.i18n,c.useI18n=u.useI18n,c.useI18nLang=u.useI18nLang,c.useI18nSetLang=u.useI18nSetLang,c.corePlugin=H,c.piniaTPAPlugin=R,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-Lm1WM1gO.amd","../.chunks/i18n-eDh3Aaw9.amd","vue","lodash","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd"],function(_,c,a,u,g,v,I,L,w){"use strict";if(typeof g>"u")var g=window.Vue;const E={mounted:function(s,t){t.value.disabled||s.focus()}};let h;const y={mounted(s,t,e){const o=t.value||"top-sticky";h=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]}),h.observe(s)},unmounted(s,t,e){h==null||h.disconnect()}};let S=!1,l;const f=new Map,O=(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)"},k=s=>{let t=window.innerHeight;window.addEventListener("scroll",()=>{f.forEach(e=>O(e,t))},{passive:!0}),l=new IntersectionObserver(e=>{t=window.innerHeight,e.forEach(o=>{const n=o.target;if(o.intersectionRatio<.1?f.delete(n):f.set(n,n),o.intersectionRatio===0){const{distance:i}=n.directiveSwipUpOptions;n.style.transform=`translateY(${i}px)`}})},{threshold:.1})},C={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},S||(k(),S=!0),l.observe(s))},unmounted(s,t,e){f.delete(s),l==null||l.unobserve(s)}},m=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)},b=(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},N={mounted(s,t,e){var o;(o=m(s))==null||o.tooltip(b(t,e))},updated(s,t,e,o){var r;const n=b(t,e),i=(r=m(s))==null?void 0:r.tooltip("instance");i&&(i.options={...i.options,...n})},unmounted(s,t,e){var o;(o=m(s))==null||o.tooltip("destroy")}},H={install:(s,t)=>{s.config.globalProperties.$core=a.Core;for(const e in t)a.Core.state[e]=t[e];a.Core._setState(),s.directive("top-focus",E),s.directive("top-sticky",y),s.directive("top-swim-up",C),s.directive("top-tooltip",N),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),s.component("TopInput",a.TopInput$1),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 P{#e;#t;#o;#n;#d;#s=[];#i=[];#p=[];#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.#d=t.options.Api,this.#s=t.options.tpaNamesUrlHash||[],this.#i=t.options.tpaNamesStorage||[],this.#p=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.#h(),this.#h(!0),this.#g()),this.#T(),this.#w();const e=v.debounce(()=>{this.#f(),this.#m()});t.store.$subscribe(e)}async genGuestLink(t,e){const o=this.#l();e=Object.assign(e,Object.fromEntries(o));const n=await this.#d.gen(t,"fetchColumn").call({},e);n!=null&&n.errors||(await I.setClipboard(n.result),alert("Link copied"))}#l(){const t=new Map;return this.#a.forEach(e=>{const o=L.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}})}#u(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)}#h(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.#p,n="state:"+this.#e+":"+location.pathname),o.forEach(r=>{const d=this.#t[r];e.set(r,d)});const i=this.#u(e);o.forEach(r=>{const d=i.get(r);localStorage.setItem(n+":"+r,d)})}#T(){var i,r,d;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(p=>{const T=t[p];e.set(p,T)});const o=this.#c(e);this.#r(o);const n=$(".mod_guest_title");if(((d=this.#t.competitorsIds)==null?void 0:d.length)===1&&this.#o.page.data.competitors){let p=this.#o.page.data.competitors.filter(T=>T.id===t.competitorsIds[0]);p.length&&($("a",n).attr("href","http://"+p[0].url),$("a",n).text(p[0].name))}}#w(){this.#t.regionsIndexes&&g.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&&g.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 R=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 P(t)};c.Core=a.Core,c.i18nPlugin=u.i18n,c.useI18n=u.useI18n,c.useI18nLang=u.useI18nLang,c.useI18nSetLang=u.useI18nSetLang,c.corePlugin=H,c.piniaTPAPlugin=R,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=app.amd.js.map
package/core/app.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as p, b as w, c as S, e as b, f as E, g as I, h as L, j as v, k as O, l as k, m as y, n as N, o as _, p as H } from "../.chunks/forms-BZoPbSQt.es.js";
1
+ import { C as p, b as w, c as S, e as b, f as E, g as I, h as L, j as v, k as O, l as k, m as y, n as N, o as _, p as H } from "../.chunks/forms-Cay_sybt.es.js";
2
2
  import { i as tt, a as et, u as ot, b as st } from "../.chunks/i18n-qpB8zyhD.es.js";
3
3
  import { watch as u } from "vue";
4
4
  import { debounce as R } from "lodash";
package/core/core.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-KR6uVX5Z.amd"],function(i,e,u,r){"use strict";if(typeof u>"u")var u=window.Vue;e.default=r.Core,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ define(["require","exports","vue","../.chunks/forms-Lm1WM1gO.amd"],function(i,e,u,r){"use strict";if(typeof u>"u")var u=window.Vue;e.default=r.Core,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=core.amd.js.map
package/core/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "vue";
2
- import { C as a } from "../.chunks/forms-BZoPbSQt.es.js";
2
+ import { C as a } from "../.chunks/forms-Cay_sybt.es.js";
3
3
  export {
4
4
  a as default
5
5
  };
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-KR6uVX5Z.amd"],function(n,T,a){"use strict";if(typeof e>"u")var e=window.Vue;T.TopAvatar=a.TopAvatar,T.TopButton=a.TopButton$1,T.TopCheckbox=a.TopCheckbox,T.TopControlLabel=a.TopControlLabel,T.TopHint=a.TopHint,T.TopInput=a.TopInput$1,T.TopInputDate=a.TopInputDate,T.TopInputRange=a.TopInputRange,T.TopLoadbar=a.TopLoadbar,T.TopRadio=a.TopRadio,T.TopSelect=a.TopSelect,T.TopSwitcher=a.TopSwitcher,T.TopTextarea=a.TopTextarea,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-Lm1WM1gO.amd"],function(n,T,a){"use strict";if(typeof e>"u")var e=window.Vue;T.TopAvatar=a.TopAvatar,T.TopButton=a.TopButton$1,T.TopCheckbox=a.TopCheckbox,T.TopControlLabel=a.TopControlLabel,T.TopHint=a.TopHint,T.TopInput=a.TopInput$1,T.TopInputDate=a.TopInputDate,T.TopInputRange=a.TopInputRange,T.TopLoadbar=a.TopLoadbar,T.TopRadio=a.TopRadio,T.TopSelect=a.TopSelect,T.TopSwitcher=a.TopSwitcher,T.TopTextarea=a.TopTextarea,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=forms.amd.js.map
package/forms/forms.js CHANGED
@@ -1,4 +1,4 @@
1
- import { b as p, c as T, e as s, f as t, g as e, h as n, j as r, k as b, l as c, m as l, n as u, o as h, p as i } from "../.chunks/forms-BZoPbSQt.es.js";
1
+ import { b as p, c as T, e as s, f as t, g as e, h as n, j as r, k as b, l as c, m as l, n as u, o as h, p as i } from "../.chunks/forms-Cay_sybt.es.js";
2
2
  export {
3
3
  p as TopAvatar,
4
4
  T as TopButton,
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-KR6uVX5Z.amd","../utils/keyboard.amd","../popup/popup.amd","lodash","../.chunks/menu-CNIQ9vFJ.amd","../require/css.amd!../assets/formsExt.css"],function(se,b,e,h,M,w,E,$){"use strict";if(typeof e>"u")var e=window.Vue;const S={class:"top-editArea_footer"},I=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["submit","close","clickOnTitle"],setup(i,{emit:c}){const t=i,r=c,m=e.ref(t.defaultValue),f=e.ref(t.isFocused),s=e.computed(()=>m.value!==t.defaultValue),p=e.computed(()=>t.attachToKeyboard?"":t.forceShowCloseBtn&&!s.value?t.closeText:t.cancelText),u=d=>{r("submit",d),m.value=t.defaultValue},v=()=>{if(t.forceShowCloseBtn&&!s.value){r("close");return}m.value=t.defaultValue},B=()=>{t.attachToKeyboard&&r("clickOnTitle")};return(d,l)=>{const V=e.resolveDirective("top-focus");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":d.attachToKeyboard})},[d.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:l[0]||(l[0]=y=>B())},e.toDisplayString(d.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":d.isError,"top-focus":f.value})},[e.withDirectives(e.createVNode(h.Textarea,{modelValue:m.value,"onUpdate:modelValue":l[1]||(l[1]=y=>m.value=y),name:d.name,placeholder:d.placeholder,rows:d.rows,minHeight:d.minHeight,expandable:d.expandable,disabled:d.disabled,readonly:d.readonly,isError:d.isError,hint:d.hint,class:"top-editArea_element",onFocus:l[2]||(l[2]=()=>f.value=!0),onBlur:l[3]||(l[3]=()=>f.value=!1),onKeyup:[e.withKeys(v,["esc"]),l[4]||(l[4]=e.withKeys(e.withModifiers(y=>u(m.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),[[V,{disabled:!f.value}]]),e.createElementVNode("div",S,[s.value||d.forceShowCloseBtn?(e.openBlock(),e.createBlock(h.TopButton,{key:0,class:"top-editArea_button",color:"theme",styling:"soft",icon:d.attachToKeyboard?"":"",onClick:v},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(h.TopButton,{key:1,class:"top-editArea_button",icon:d.attachToKeyboard?"":"",onClick:l[5]||(l[5]=y=>u(m.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.attachToKeyboard?"":d.submitText),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0)])],2)],2)}}}),N={$style:{"top-editArea":"top-editArea","top-editArea_title":"top-editArea_title","top-editArea_form":"top-editArea_form","top-focus":"top-focus","top-textarea":"top-textarea","top-editArea_element":"top-editArea_element","top-textarea_textarea":"top-textarea_textarea","top-editArea_footer":"top-editArea_footer","top-editArea-attachedToKeyboard":"top-editArea-attachedToKeyboard","top-button":"top-button","top-editArea_button":"top-editArea_button"}},K=h._export_sfc(I,[["__cssModules",N]]),L={class:"top-editInput"},P=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(i,{emit:c}){const t=i,r=e.ref(t.modelValue);e.watch(e.toRef(t.modelValue),()=>{r.value=t.modelValue});const m=c,f=()=>{m("update:modelValue",r.value)};return(s,p)=>(e.openBlock(),e.createElementBlock("div",L,[e.createVNode(h.TopInput,e.mergeProps(s.input,{onKeydownCapture:p[0]||(p[0]=e.withKeys(e.withModifiers(u=>r.value=s.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(f,["stop"]),["enter"]),modelValue:r.value,"onUpdate:modelValue":p[1]||(p[1]=u=>r.value=u)}),null,16,["onKeydown","modelValue"]),r.value!==s.modelValue?(e.openBlock(),e.createBlock(h.TopButton,e.mergeProps({key:0,icon:"",styling:"soft"},s.button,{onClick:f}),null,16)):e.createCommentVNode("",!0)]))}}),G={$style:{"top-editInput":"top-editInput","top-input":"top-input"}},D=h._export_sfc(P,[["__cssModules",G]]),O=["data-top-icon","onClick"],z={key:0,class:"top-radioGroup_circle"},F=["value","disabled"],H=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(i,{emit:c}){const t=e.useModel(i,"modelValue"),r=i,m=e.ref(null);e.watch(t,()=>{var s,p,u,v,B;(s=r.radiosProps)!=null&&s.some(d=>d.value===t.value)||(t.value=((u=(p=r.radiosProps)==null?void 0:p[0])==null?void 0:u.value)??""),(B=(v=m.value)==null?void 0:v.querySelector(".radioGroup_item-selected"))==null||B.scrollIntoView()},{immediate:!0});const f="radioGroup-"+Math.random();return(s,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:m,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+s.size]:!!s.size,"top-error":s.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.radiosProps,u=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":u.value===t.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":u.disabled}),"data-top-icon":u.icon,onClick:v=>t.value=u.value},[e.createTextVNode(e.toDisplayString(u.title)+" ",1),s.showIndicator?(e.openBlock(),e.createElementBlock("span",z)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=v=>t.value=v),name:f,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:u.value,disabled:u.disabled},null,8,F),[[e.vModelRadio,t.value]])],10,O))),256))],2))}}),x={$style:{"top-scrollBarXHidding":"top-scrollBarXHidding","top-radioGroup":"top-radioGroup","top-radioGroup_item":"top-radioGroup_item","top-radioGroup_item-selected":"top-radioGroup_item-selected","top-radioGroup_circle":"top-radioGroup_circle","top-disabled":"top-disabled","top-error":"top-error"}},U=h._export_sfc(H,[["__cssModules",x]]),W=(i,c,t)=>{const r=e.ref([]),m=e.ref(!1);let f="",s;i&&!i.params.limit&&(i.params.limit=100);const p=async()=>{if(!i)return;let l,V;if(t&&(i.cache??=new Map,V=JSON.stringify(i.params),l=i.cache.get(V),l))return l;if(m.value=!0,l=await i.call(),m.value=!1,l.errors)return;if(!Array.isArray(l.result)){console.warn("В result ожидался массив");return}const y=l.result.findIndex(A=>A.id===void 0||A.name===void 0);if(y!==-1){console.warn(`В result[${y}] нет id или name`);return}return t&&i.cache.set(V,l),l},u=async()=>{if(!i)return;i.params.offset=0,i.params.search=f;const l=await p();l&&(s=l.nextOffset,r.value=l.result)},v=async()=>{if(!i||!s||m.value)return;i.params.offset=s,i.params.search=f;const l=await p();l&&(s=l.nextOffset,r.value=r.value.concat(l.result))},B=E.debounce(()=>u(),200);return{items:r,isLoading:m,loadAppend:v,setSearchTextAndLoad:(l,V=!0)=>{i&&(l.length<c||l===f&&r.value.length||(f=l,V?B():u()))}}},J={class:"top-selector2_itemMulti top-ellipsis"},R=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(i){return(c,t)=>(e.openBlock(),e.createElementBlock("div",J,[e.createTextVNode(e.toDisplayString(c.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:t[0]||(t[0]=r=>c.$emit("delete",c.id)),onMousedown:t[1]||(t[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),X={$style:{"top-selector2_itemMulti":"top-selector2_itemMulti","top-selector2_itemMultiDelete":"top-selector2_itemMultiDelete","top-selector2":"top-selector2","top-active":"top-active"}},j=h._export_sfc(R,[["__cssModules",X]]),Y={key:0,class:"top-selector2_activeItems"},Q={key:1,class:"top-selector2_activeName top-ellipsis"},Z=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},multiselect:{type:Boolean},disabled:{type:Boolean},size:{default:"s"},isError:{type:Boolean},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},placeholder:{},showSelectedInInput:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(i){const c=i,t=e.useModel(i,"modelValue"),r=e.ref(""),m={id:0,name:"Все"},f=e.ref(null),s=()=>{var o;return(o=f.value)==null?void 0:o.popup};window.__STORYBOOK_PREVIEW__&&!c.modelValue&&e.watch(()=>c.multiselect,()=>{t.value=c.multiselect?[]:{id:null,name:""}},{immediate:!0});const p=W(c.apiRequest,c.minLength,c.useCache),u=e.computed(()=>{const o=[];return!c.multiselect&&c.appendAllValue&&o.push(m),c.items.forEach(n=>o.push({...n})),o}),v=(o,n=!0)=>n&&o.id===null?Array.isArray(t.value)?t.value.some(a=>a.id===o.id&&a.name===o.name):o.name===t.value.name:Array.isArray(t.value)?t.value.some(a=>a.id===o.id):o.id===t.value.id,B=e.computed(()=>{const o=r.value.toLowerCase(),n=M.invertKeyboardLayout(o);let a=[];return u.value.forEach(k=>{const g=k.name.toLowerCase();(k.id===Number(o)||g.includes(o)||g.includes(n))&&(g===o||g===n?a.unshift(k):a.push(k))}),a.push(...p.items.value),c.appendSearchToResult&&r.value&&(!a.length||a[0].name.toLowerCase()!==o)&&a.push({id:null,name:r.value}),c.multiselect&&(a=a.filter(k=>!v(k))),a}),d=async o=>{var n,a;if(c.multiselect){if(!Array.isArray(t.value)||v(o))return;const k=[...t.value];k.push({...o}),t.value=k,h.Core.state.isMobile?(n=s())==null||n.close():setTimeout(()=>{var g,C,T,_;(g=s())==null||g.recalcPosition(),(_=(T=(C=s())==null?void 0:C.elPopupWidget)==null?void 0:T.querySelector("input"))==null||_.focus(),r.value&&(B.value.length||(r.value="",p.items.value=[]))})}else r.value&&(r.value="",p.items.value=[]),JSON.stringify(o)!==JSON.stringify(t.value)&&(t.value={...o}),(a=s())==null||a.close()},l=()=>{if(!Array.isArray(t.value)){const n=(u.value.findIndex(a=>a.id===t.value.id)+1)%u.value.length;t.value={...u.value[n]}}},V=async o=>{Array.isArray(t.value)&&(t.value=t.value.filter(n=>n.id!==o),setTimeout(()=>{var n;(n=s())==null||n.recalcPosition()}))},y=e.ref(!1);c.apiRequest&&(e.watch(y,()=>{y.value&&p.setSearchTextAndLoad(r.value,!1)}),e.watch(r,()=>p.setSearchTextAndLoad(r.value)));const A=o=>{const n=o.target;n.scrollTop/(n.scrollHeight-n.offsetHeight)>.8&&p.loadAppend()};return(o,n)=>(e.openBlock(),e.createBlock(e.unref(w.TopPopup),{ref_key:"popupRef",ref:f,onOpen:n[1]||(n[1]=a=>y.value=!0),onClose:n[2]||(n[2]=a=>y.value=!1),onScrollContentList:n[3]||(n[3]=a=>o.apiRequest?A(a):void 0),notch:!1,transitionDuration:0},{opener:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass({"top-selector2":!0,"top-selector2-multiselect":o.multiselect,["top-size_"+o.size]:!0,"top-disabled":o.disabled,"top-forms-focusable":!o.disabled,"top-error":o.isError})},[o.multiselect?(e.openBlock(),e.createElementBlock("div",Y,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,a=>(e.openBlock(),e.createBlock(j,{id:a.id,name:a.name,onDelete:V},null,8,["id","name"]))),256))])):e.createCommentVNode("",!0),o.multiselect?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Q,e.toDisplayString(Array.isArray(t.value)?"":t.value.name),1)),o.addChanger&&!o.multiselect&&u.value.length>1&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:2,class:"top-changer top-changer-selector",onClick:e.withModifiers(l,["stop"])})):e.createCommentVNode("",!0)],2)]),widget:e.withCtx(()=>[e.createVNode(e.unref(w.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=a=>r.value=a),isLoading:e.unref(p).isLoading.value,placeholder:!Array.isArray(t.value)&&!o.multiselect&&o.showSelectedInInput?t.value.name:o.placeholder},null,8,["modelValue","isLoading","placeholder"])]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,a=>(e.openBlock(),e.createBlock(e.unref(w.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(t.value)&&!o.multiselect&&t.value.name===a.name}),key:a.id??void 0,onClick:e.withModifiers(k=>d(a),["stop"])},{default:e.withCtx(()=>[o.$slots.item?e.renderSlot(o.$slots,"item",{key:0,item:a}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(a.name),1)],64))]),_:2},1032,["class","onClick"]))),128)),B.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(" Нет результатов ")]),_:1}))]),_:3},512))}}),q={$style:{"top-selector2":"top-selector2","top-selector2-multiselect":"top-selector2-multiselect","top-active":"top-active","top-selector2_activeItems":"top-selector2_activeItems","top-selector2_activeName":"top-selector2_activeName","top-changer-selector":"top-changer-selector"}},ee=h._export_sfc(Z,[["__cssModules",q]]),te=K,oe=D,le=U,ae=ee,re=$.Menu;b.TopEditArea=te,b.TopEditInput=oe,b.TopMenu=re,b.TopRadioGroup=le,b.TopSelector2=ae,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-Lm1WM1gO.amd","../utils/keyboard.amd","../popup/popup.amd","lodash","../.chunks/menu-Dg2EKy3O.amd","../require/css.amd!../assets/formsExt.css"],function(se,b,e,h,M,w,E,$){"use strict";if(typeof e>"u")var e=window.Vue;const S={class:"top-editArea_footer"},I=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["submit","close","clickOnTitle"],setup(i,{emit:c}){const t=i,r=c,m=e.ref(t.defaultValue),f=e.ref(t.isFocused),s=e.computed(()=>m.value!==t.defaultValue),p=e.computed(()=>t.attachToKeyboard?"":t.forceShowCloseBtn&&!s.value?t.closeText:t.cancelText),u=d=>{r("submit",d),m.value=t.defaultValue},v=()=>{if(t.forceShowCloseBtn&&!s.value){r("close");return}m.value=t.defaultValue},B=()=>{t.attachToKeyboard&&r("clickOnTitle")};return(d,l)=>{const V=e.resolveDirective("top-focus");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":d.attachToKeyboard})},[d.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:l[0]||(l[0]=y=>B())},e.toDisplayString(d.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":d.isError,"top-focus":f.value})},[e.withDirectives(e.createVNode(h.Textarea,{modelValue:m.value,"onUpdate:modelValue":l[1]||(l[1]=y=>m.value=y),name:d.name,placeholder:d.placeholder,rows:d.rows,minHeight:d.minHeight,expandable:d.expandable,disabled:d.disabled,readonly:d.readonly,isError:d.isError,hint:d.hint,class:"top-editArea_element",onFocus:l[2]||(l[2]=()=>f.value=!0),onBlur:l[3]||(l[3]=()=>f.value=!1),onKeyup:[e.withKeys(v,["esc"]),l[4]||(l[4]=e.withKeys(e.withModifiers(y=>u(m.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),[[V,{disabled:!f.value}]]),e.createElementVNode("div",S,[s.value||d.forceShowCloseBtn?(e.openBlock(),e.createBlock(h.TopButton,{key:0,class:"top-editArea_button",color:"theme",styling:"soft",icon:d.attachToKeyboard?"":"",onClick:v},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(h.TopButton,{key:1,class:"top-editArea_button",icon:d.attachToKeyboard?"":"",onClick:l[5]||(l[5]=y=>u(m.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.attachToKeyboard?"":d.submitText),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0)])],2)],2)}}}),N={$style:{"top-editArea":"top-editArea","top-editArea_title":"top-editArea_title","top-editArea_form":"top-editArea_form","top-focus":"top-focus","top-textarea":"top-textarea","top-editArea_element":"top-editArea_element","top-textarea_textarea":"top-textarea_textarea","top-editArea_footer":"top-editArea_footer","top-editArea-attachedToKeyboard":"top-editArea-attachedToKeyboard","top-button":"top-button","top-editArea_button":"top-editArea_button"}},K=h._export_sfc(I,[["__cssModules",N]]),L={class:"top-editInput"},P=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(i,{emit:c}){const t=i,r=e.ref(t.modelValue);e.watch(e.toRef(t.modelValue),()=>{r.value=t.modelValue});const m=c,f=()=>{m("update:modelValue",r.value)};return(s,p)=>(e.openBlock(),e.createElementBlock("div",L,[e.createVNode(h.TopInput,e.mergeProps(s.input,{onKeydownCapture:p[0]||(p[0]=e.withKeys(e.withModifiers(u=>r.value=s.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(f,["stop"]),["enter"]),modelValue:r.value,"onUpdate:modelValue":p[1]||(p[1]=u=>r.value=u)}),null,16,["onKeydown","modelValue"]),r.value!==s.modelValue?(e.openBlock(),e.createBlock(h.TopButton,e.mergeProps({key:0,icon:"",styling:"soft"},s.button,{onClick:f}),null,16)):e.createCommentVNode("",!0)]))}}),G={$style:{"top-editInput":"top-editInput","top-input":"top-input"}},D=h._export_sfc(P,[["__cssModules",G]]),O=["data-top-icon","onClick"],z={key:0,class:"top-radioGroup_circle"},F=["value","disabled"],H=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(i,{emit:c}){const t=e.useModel(i,"modelValue"),r=i,m=e.ref(null);e.watch(t,()=>{var s,p,u,v,B;(s=r.radiosProps)!=null&&s.some(d=>d.value===t.value)||(t.value=((u=(p=r.radiosProps)==null?void 0:p[0])==null?void 0:u.value)??""),(B=(v=m.value)==null?void 0:v.querySelector(".radioGroup_item-selected"))==null||B.scrollIntoView()},{immediate:!0});const f="radioGroup-"+Math.random();return(s,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:m,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+s.size]:!!s.size,"top-error":s.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.radiosProps,u=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":u.value===t.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":u.disabled}),"data-top-icon":u.icon,onClick:v=>t.value=u.value},[e.createTextVNode(e.toDisplayString(u.title)+" ",1),s.showIndicator?(e.openBlock(),e.createElementBlock("span",z)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=v=>t.value=v),name:f,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:u.value,disabled:u.disabled},null,8,F),[[e.vModelRadio,t.value]])],10,O))),256))],2))}}),x={$style:{"top-scrollBarXHidding":"top-scrollBarXHidding","top-radioGroup":"top-radioGroup","top-radioGroup_item":"top-radioGroup_item","top-radioGroup_item-selected":"top-radioGroup_item-selected","top-radioGroup_circle":"top-radioGroup_circle","top-disabled":"top-disabled","top-error":"top-error"}},U=h._export_sfc(H,[["__cssModules",x]]),W=(i,c,t)=>{const r=e.ref([]),m=e.ref(!1);let f="",s;i&&!i.params.limit&&(i.params.limit=100);const p=async()=>{if(!i)return;let l,V;if(t&&(i.cache??=new Map,V=JSON.stringify(i.params),l=i.cache.get(V),l))return l;if(m.value=!0,l=await i.call(),m.value=!1,l.errors)return;if(!Array.isArray(l.result)){console.warn("В result ожидался массив");return}const y=l.result.findIndex(A=>A.id===void 0||A.name===void 0);if(y!==-1){console.warn(`В result[${y}] нет id или name`);return}return t&&i.cache.set(V,l),l},u=async()=>{if(!i)return;i.params.offset=0,i.params.search=f;const l=await p();l&&(s=l.nextOffset,r.value=l.result)},v=async()=>{if(!i||!s||m.value)return;i.params.offset=s,i.params.search=f;const l=await p();l&&(s=l.nextOffset,r.value=r.value.concat(l.result))},B=E.debounce(()=>u(),200);return{items:r,isLoading:m,loadAppend:v,setSearchTextAndLoad:(l,V=!0)=>{i&&(l.length<c||l===f&&r.value.length||(f=l,V?B():u()))}}},J={class:"top-selector2_itemMulti top-ellipsis"},R=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(i){return(c,t)=>(e.openBlock(),e.createElementBlock("div",J,[e.createTextVNode(e.toDisplayString(c.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:t[0]||(t[0]=r=>c.$emit("delete",c.id)),onMousedown:t[1]||(t[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),X={$style:{"top-selector2_itemMulti":"top-selector2_itemMulti","top-selector2_itemMultiDelete":"top-selector2_itemMultiDelete","top-selector2":"top-selector2","top-active":"top-active"}},j=h._export_sfc(R,[["__cssModules",X]]),Y={key:0,class:"top-selector2_activeItems"},Q={key:1,class:"top-selector2_activeName top-ellipsis"},Z=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},multiselect:{type:Boolean},disabled:{type:Boolean},size:{default:"s"},isError:{type:Boolean},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},placeholder:{},showSelectedInInput:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(i){const c=i,t=e.useModel(i,"modelValue"),r=e.ref(""),m={id:0,name:"Все"},f=e.ref(null),s=()=>{var o;return(o=f.value)==null?void 0:o.popup};window.__STORYBOOK_PREVIEW__&&!c.modelValue&&e.watch(()=>c.multiselect,()=>{t.value=c.multiselect?[]:{id:null,name:""}},{immediate:!0});const p=W(c.apiRequest,c.minLength,c.useCache),u=e.computed(()=>{const o=[];return!c.multiselect&&c.appendAllValue&&o.push(m),c.items.forEach(n=>o.push({...n})),o}),v=(o,n=!0)=>n&&o.id===null?Array.isArray(t.value)?t.value.some(a=>a.id===o.id&&a.name===o.name):o.name===t.value.name:Array.isArray(t.value)?t.value.some(a=>a.id===o.id):o.id===t.value.id,B=e.computed(()=>{const o=r.value.toLowerCase(),n=M.invertKeyboardLayout(o);let a=[];return u.value.forEach(k=>{const g=k.name.toLowerCase();(k.id===Number(o)||g.includes(o)||g.includes(n))&&(g===o||g===n?a.unshift(k):a.push(k))}),a.push(...p.items.value),c.appendSearchToResult&&r.value&&(!a.length||a[0].name.toLowerCase()!==o)&&a.push({id:null,name:r.value}),c.multiselect&&(a=a.filter(k=>!v(k))),a}),d=async o=>{var n,a;if(c.multiselect){if(!Array.isArray(t.value)||v(o))return;const k=[...t.value];k.push({...o}),t.value=k,h.Core.state.isMobile?(n=s())==null||n.close():setTimeout(()=>{var g,C,T,_;(g=s())==null||g.recalcPosition(),(_=(T=(C=s())==null?void 0:C.elPopupWidget)==null?void 0:T.querySelector("input"))==null||_.focus(),r.value&&(B.value.length||(r.value="",p.items.value=[]))})}else r.value&&(r.value="",p.items.value=[]),JSON.stringify(o)!==JSON.stringify(t.value)&&(t.value={...o}),(a=s())==null||a.close()},l=()=>{if(!Array.isArray(t.value)){const n=(u.value.findIndex(a=>a.id===t.value.id)+1)%u.value.length;t.value={...u.value[n]}}},V=async o=>{Array.isArray(t.value)&&(t.value=t.value.filter(n=>n.id!==o),setTimeout(()=>{var n;(n=s())==null||n.recalcPosition()}))},y=e.ref(!1);c.apiRequest&&(e.watch(y,()=>{y.value&&p.setSearchTextAndLoad(r.value,!1)}),e.watch(r,()=>p.setSearchTextAndLoad(r.value)));const A=o=>{const n=o.target;n.scrollTop/(n.scrollHeight-n.offsetHeight)>.8&&p.loadAppend()};return(o,n)=>(e.openBlock(),e.createBlock(e.unref(w.TopPopup),{ref_key:"popupRef",ref:f,onOpen:n[1]||(n[1]=a=>y.value=!0),onClose:n[2]||(n[2]=a=>y.value=!1),onScrollContentList:n[3]||(n[3]=a=>o.apiRequest?A(a):void 0),notch:!1,transitionDuration:0},{opener:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass({"top-selector2":!0,"top-selector2-multiselect":o.multiselect,["top-size_"+o.size]:!0,"top-disabled":o.disabled,"top-forms-focusable":!o.disabled,"top-error":o.isError})},[o.multiselect?(e.openBlock(),e.createElementBlock("div",Y,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,a=>(e.openBlock(),e.createBlock(j,{id:a.id,name:a.name,onDelete:V},null,8,["id","name"]))),256))])):e.createCommentVNode("",!0),o.multiselect?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Q,e.toDisplayString(Array.isArray(t.value)?"":t.value.name),1)),o.addChanger&&!o.multiselect&&u.value.length>1&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:2,class:"top-changer top-changer-selector",onClick:e.withModifiers(l,["stop"])})):e.createCommentVNode("",!0)],2)]),widget:e.withCtx(()=>[e.createVNode(e.unref(w.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=a=>r.value=a),isLoading:e.unref(p).isLoading.value,placeholder:!Array.isArray(t.value)&&!o.multiselect&&o.showSelectedInInput?t.value.name:o.placeholder},null,8,["modelValue","isLoading","placeholder"])]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,a=>(e.openBlock(),e.createBlock(e.unref(w.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(t.value)&&!o.multiselect&&t.value.name===a.name}),key:a.id??void 0,onClick:e.withModifiers(k=>d(a),["stop"])},{default:e.withCtx(()=>[o.$slots.item?e.renderSlot(o.$slots,"item",{key:0,item:a}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(a.name),1)],64))]),_:2},1032,["class","onClick"]))),128)),B.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(" Нет результатов ")]),_:1}))]),_:3},512))}}),q={$style:{"top-selector2":"top-selector2","top-selector2-multiselect":"top-selector2-multiselect","top-active":"top-active","top-selector2_activeItems":"top-selector2_activeItems","top-selector2_activeName":"top-selector2_activeName","top-changer-selector":"top-changer-selector"}},ee=h._export_sfc(Z,[["__cssModules",q]]),te=K,oe=D,le=U,ae=ee,re=$.Menu;b.TopEditArea=te,b.TopEditInput=oe,b.TopMenu=re,b.TopRadioGroup=le,b.TopSelector2=ae,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=formsExt.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formsExt.amd.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/radioGroup/radioGroup.vue","../../src/components/formsExt/selector2/api.ts","../../src/components/formsExt/selector2/selector2.vue","../../src/components/formsExt/formsExt.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, ref } from 'vue';\r\nimport Button from '@/components/forms/button/button.vue';\r\nimport type { Emits, Props } from './editArea';\r\nimport Textarea from '@/components/forms/textarea/textarea.vue';\r\n\r\n// TODO: добавить переменную top-forms-fixed-height и использовать ее при добавлении отступов у страницы\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tdefaultValue: '',\r\n\tcancelText: 'Cancel',\r\n\tsubmitText: 'Send',\r\n\tcloseText: 'Close',\r\n\texpandable: true,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = ref(props.defaultValue);\r\n\r\nconst isFocused = ref(props.isFocused);\r\n\r\nconst isChanged = computed(() => localValue.value !== props.defaultValue);\r\n\r\nconst cancelBtnText = computed(() => {\r\n\tif (props.attachToKeyboard) return '';\r\n\r\n\tif (props.forceShowCloseBtn && !isChanged.value) return props.closeText;\r\n\r\n\treturn props.cancelText;\r\n});\r\n\r\nconst submit = (value: string) => {\r\n\temit('submit', value);\r\n\r\n\tlocalValue.value = props.defaultValue;\r\n};\r\n\r\nconst cancel = () => {\r\n\tif (props.forceShowCloseBtn && !isChanged.value) {\r\n\t\temit('close');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tlocalValue.value = props.defaultValue;\r\n};\r\n\r\nconst clickOnTitle = () => {\r\n\tif (props.attachToKeyboard) emit('clickOnTitle');\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t'top-editArea': true,\r\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\r\n\t\t}\"\r\n\t>\r\n\t\t<div\r\n\t\t\tv-if=\"title\"\r\n\t\t\tclass=\"top-editArea_title\"\r\n\t\t\t@click=\"clickOnTitle()\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\t:class=\"{\r\n\t\t\t\t'top-editArea_form': true,\r\n\t\t\t\t'top-error': isError,\r\n\t\t\t\t'top-focus': isFocused,\r\n\t\t\t}\"\r\n\t\t>\r\n\t\t\t<Textarea\r\n\t\t\t\tv-top-focus=\"{ disabled: !isFocused }\"\r\n\t\t\t\tv-model=\"localValue\"\r\n\t\t\t\t:name=\"name\"\r\n\t\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t\t:rows=\"rows\"\r\n\t\t\t\t:minHeight=\"minHeight\"\r\n\t\t\t\t:expandable=\"expandable\"\r\n\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t:readonly=\"readonly\"\r\n\t\t\t\t:isError=\"isError\"\r\n\t\t\t\t:hint=\"hint\"\r\n\t\t\t\tclass=\"top-editArea_element\"\r\n\t\t\t\t@focus=\"() => isFocused = true\"\r\n\t\t\t\t@blur=\"() => isFocused = false\"\r\n\t\t\t\t@keyup.esc=\"cancel\"\r\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\r\n\t\t\t/>\r\n\r\n\t\t\t<div class=\"top-editArea_footer\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"isChanged || forceShowCloseBtn\"\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\tstyling=\"soft\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"cancel\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ cancelBtnText }}\r\n\t\t\t\t</Button>\r\n\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\tv-if=\"isChanged\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"submit(localValue)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ attachToKeyboard ? '' : submitText }}\r\n\t\t\t\t</Button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editArea {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 6px;\r\n}\r\n\r\n.top-editArea_title {\r\n\tfont-size: 12px;\r\n}\r\n\r\n.top-editArea_form {\r\n\tflex-direction: column;\r\n}\r\n\r\n.top-editArea_form:hover {\r\n\tborder-color: var(--top-forms-border-color-hover);\r\n}\r\n\r\n.top-editArea_form.top-focus {\r\n\tborder-color: var(--color-line-primary-1);\r\n\toutline: none;\r\n}\r\n\r\n/* textarea в EditArea */\r\n.top-textarea {\r\n\twidth: 100%;\r\n}\r\n\r\n.top-editArea_element.top-textarea_textarea {\r\n\tborder: none;\r\n\toutline: none;\r\n\tanimation: none;\r\n}\r\n\r\n/* footer */\r\n.top-editArea_footer {\r\n\tpadding: var(--top-forms-padding);\r\n\tdisplay: flex;\r\n\tmin-height: 32px;\r\n\tjustify-content: flex-end;\r\n\tgap: var(--top-forms-padding);\r\n}\r\n\r\n/* attachedToKeyboard */\r\n.top-editArea-attachedToKeyboard {\r\n\tbackground: var(--top-forms-background-color);\r\n\tmargin-bottom: env(keyboard-inset-height, 0);\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\tleft: 0;\r\n\tz-index: 2;\r\n\tgap: 0;\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_form {\r\n\tborder-radius: 0;\r\n\tborder: none;\r\n\tborder-top: 1px solid var(--top-forms-border-color);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_title {\r\n\tcursor: pointer;\r\n\tborder-top: 1px solid var(--color-line-2-opacity);\r\n\tpadding: var(--top-forms-padding);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\r\n\tborder-radius: 100%;\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-button.top-editArea_button {\r\n\tmin-width: auto;\r\n\tpadding: 0;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { ref, toRef, watch } from 'vue';\r\nimport type { Emits, Props } from './editInput';\r\nimport TopInput from '@/components/forms/input/input.vue';\r\nimport TopButton from '@/components/forms/button/button.vue';\r\n\r\nconst props = defineProps<Props>();\r\n\r\nconst intermediateValue = ref(props.modelValue);\r\n\r\nwatch(toRef(props.modelValue), () => {\r\n\tintermediateValue.value = props.modelValue;\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst submit = () => {\r\n\temit('update:modelValue', intermediateValue.value);\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"top-editInput\">\r\n\t\t<TopInput\r\n\t\t\t:=\"input\"\r\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\r\n\t\t\t@keydown.enter.stop=\"submit\"\r\n\t\t\tv-model=\"intermediateValue\"\r\n\t\t/>\r\n\r\n\t\t<TopButton\r\n\t\t\tv-if=\"intermediateValue !== modelValue\"\r\n\t\t\ticon=\"\"\r\n\t\t\tstyling=\"soft\"\r\n\t\t\t:=\"button\"\r\n\t\t\t@click=\"submit\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editInput {\r\n\twidth: 220px;\r\n\tflex-grow: 1;\r\n\tdisplay: flex;\r\n\talign-items: flex-end;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-editInput .top-input {\r\n\twidth: unset;\r\n\tflex-grow: 1;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport type { Ref } from '@vue/reactivity';\r\nimport { ref, watch } from 'vue';\r\nimport type { Props, Emits } from './radioGroup';\r\n\r\nconst model = defineModel<string>({\r\n\trequired: true,\r\n});\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst elRef: Ref<HTMLElement | null> = ref(null);\r\n\r\nwatch(model, () => {\r\n\tif (!props.radiosProps?.some(item => item.value === model.value)) {\r\n\t\tmodel.value = props.radiosProps?.[0]?.value ?? '';\r\n\t}\r\n\r\n\telRef.value?.querySelector('.radioGroup_item-selected')?.scrollIntoView();\r\n}, { immediate: true });\r\n\r\nconst uid = 'radioGroup-' + Math.random();\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tref=\"elRef\"\r\n\t\t:class=\"{\r\n\t\t\t['top-radioGroup']: true,\r\n\t\t\t['top-scrollBarXHidding']: true,\r\n\t\t\t['top-size_' + size]: !!size,\r\n\t\t\t['top-error']: isError,\r\n\t\t}\"\r\n\t>\r\n\t\t<label\r\n\t\t\tv-for=\"item of radiosProps\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-radioGroup_item-selected']: item.value === model,\r\n\t\t\t\t['top-radioGroup_item']: true,\r\n\t\t\t\t['top-forms-focusable']: true,\r\n\t\t\t\t['top-disabled']: item.disabled,\r\n\t\t\t}\"\r\n\t\t\t:data-top-icon=\"item.icon\"\r\n\t\t\t@click=\"model = item.value\"\r\n\t\t>\r\n\t\t\t{{ item.title }}\r\n\r\n\t\t\t<span\r\n\t\t\t\tv-if=\"showIndicator\"\r\n\t\t\t\tclass=\"top-radioGroup_circle\"\r\n\t\t\t></span>\r\n\r\n\t\t\t<!-- Для нативной навигации -->\r\n\t\t\t<input\r\n\t\t\t\tv-model=\"model\"\r\n\t\t\t\t:name=\"uid\"\r\n\t\t\t\ttype=\"radio\"\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t['top-unvisible']: true,\r\n\t\t\t\t}\"\r\n\t\t\t\t:value=\"item.value\"\r\n\t\t\t\t:disabled=\"item.disabled\"\r\n\t\t\t/>\r\n\t\t</label>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n@import \"./styles/top-scrollBar.css\";\r\n\r\n.top-radioGroup {\r\n\tuser-select: none;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 8px;\r\n\tbackground-color: var(--color-bg-2);\r\n\theight: var(--top-forms-base-height);\r\n\tpadding: 2px;\r\n\tgap: 2px;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n}\r\n\r\n.top-radioGroup_item {\r\n\tcolor: var(--color-text-2);\r\n\tcursor: pointer;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 6px;\r\n\theight: calc(var(--top-forms-base-height) - 4px);\r\n\tpadding: 0 16px;\r\n\tfont-weight: 400;\r\n\twhite-space: nowrap;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tflex-grow: 1;\r\n\tgap: 4px;\r\n}\r\n\r\n.top-radioGroup_item:hover {\r\n\tbackground-color: var(--color-bg-3);\r\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\r\n}\r\n\r\n/* selected */\r\n.top-radioGroup_item-selected {\r\n\tcolor: var(--color-text-1);\r\n\tpointer-events: none;\r\n\tbackground-color: var(--color-bg-secondary-1);\r\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\r\n}\r\n\r\n/* circle */\r\n.top-radioGroup_circle {\r\n\tcontent: \"\";\r\n\tbox-sizing: border-box;\r\n\tborder: 1px solid var(--color-line-3-opacity);\r\n\tborder-radius: 50%;\r\n\tpadding: 3px;\r\n\tmargin-left: auto;\r\n\twidth: calc(var(--top-forms-option-height) - 3px * 2);\r\n\theight: calc(var(--top-forms-option-height) - 3px * 2);\r\n}\r\n\r\n.top-radioGroup_item:hover .top-radioGroup_circle:before {\r\n\tborder-color: var(--color-line-primary-1);\r\n}\r\n\r\n/* circle selected */\r\n.top-radioGroup_item-selected .top-radioGroup_circle {\r\n\tborder-color: var(--color-line-primary-1);\r\n\tborder-width: 5px;\r\n}\r\n\r\n.top-radioGroup_item-selected:hover .top-radioGroup_circle {\r\n\tborder-color: var(--color-line-primary-2);\r\n}\r\n\r\n/* top-disabled */\r\n.top-radioGroup_item.top-disabled {\r\n\t--top-icon-color: var(--color-text-3);\r\n\r\n\tcolor: var(--color-text-3);\r\n}\r\n\r\n.top-radioGroup_item.top-disabled .top-radioGroup_circle {\r\n\tborder-color: var(--color-theme-400);\r\n\tbackground-color: var(--color-theme-100);\r\n}\r\n\r\n/* top-error */\r\n.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle {\r\n\tborder-color: var(--color-negative);\r\n}\r\n</style>\r\n","import type { Ref } from 'vue';\r\nimport { ref } from 'vue';\r\nimport { debounce } from 'lodash';\r\nimport type { Item, Props } from './selector2';\r\n\r\nexport const useAPI = (apiRequest: Props['apiRequest'], minLength: number, useCache: Props['useCache']) => {\r\n\t/**\r\n\t * Список, полученный через API\r\n\t */\r\n\tconst items: Ref<Array<Item>> = ref([]);\r\n\r\n\t/**\r\n\t * Флаг - идет загрузка\r\n\t */\r\n\tconst isLoading = ref(false);\r\n\r\n\tlet _searchText = '';\r\n\tlet _nextOffset: number | undefined;\r\n\r\n\tif (apiRequest && !apiRequest.params.limit) {\r\n\t\tapiRequest.params.limit = 100;\r\n\t}\r\n\r\n\t/**\r\n\t * Выполнить обращение к API\r\n\t *\r\n\t * При ошибке вернет undefined\r\n\t */\r\n\tconst callAPIRequest = async (): Promise<{ nextOffset?: number, result: Array<Item> } | undefined> => {\r\n\t\tif (!apiRequest) return;\r\n\r\n\t\tlet res;\r\n\t\tlet cacheKey;\r\n\r\n\t\tif (useCache) {\r\n\t\t\t// кэш для полученных ответов через apiRequest\r\n\t\t\t// общий для всех компонентов, использующих apiRequest\r\n\t\t\tapiRequest.cache ??= new Map();\r\n\r\n\t\t\tcacheKey = JSON.stringify(apiRequest.params);\r\n\t\t\tres = apiRequest.cache.get(cacheKey);\r\n\r\n\t\t\tif (res) {\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tisLoading.value = true;\r\n\t\tres = await apiRequest.call();\r\n\t\tisLoading.value = false;\r\n\r\n\t\tif (res.errors) return;\r\n\r\n\t\tif (!Array.isArray(res.result)) {\r\n\t\t\tconsole.warn(`В result ожидался массив`);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst indexWithError = (res.result as Array<Item | any>).findIndex(item => item.id === undefined || item.name === undefined);\r\n\t\tif (indexWithError !== -1) {\r\n\t\t\tconsole.warn(`В result[${indexWithError}] нет id или name`);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (useCache) {\r\n\t\t\tapiRequest.cache.set(cacheKey as string, res);\r\n\t\t}\r\n\r\n\t\treturn res;\r\n\t};\r\n\r\n\t/**\r\n\t * Загрузить items\r\n\t */\r\n\tconst load = async () => {\r\n\t\tif (!apiRequest) return;\r\n\r\n\t\tapiRequest.params.offset = 0;\r\n\t\tapiRequest.params.search = _searchText;\r\n\r\n\t\tconst res = await callAPIRequest();\r\n\t\tif (!res) return;\r\n\r\n\t\t_nextOffset = res.nextOffset;\r\n\r\n\t\titems.value = res.result;\r\n\t};\r\n\r\n\t/**\r\n\t * Загрузить следующую страницу items\r\n\t */\r\n\tconst loadAppend = async () => {\r\n\t\tif (!apiRequest) return;\r\n\r\n\t\t// данных о следующих страницах не обнаружено\r\n\t\tif (!_nextOffset) return;\r\n\r\n\t\t// дозагружать нельзя, если не завершена предыдущшая загрузка\r\n\t\tif (isLoading.value) return;\r\n\r\n\t\tapiRequest.params.offset = _nextOffset;\r\n\t\tapiRequest.params.search = _searchText;\r\n\r\n\t\tconst res = await callAPIRequest();\r\n\t\tif (!res) return;\r\n\r\n\t\t_nextOffset = res.nextOffset;\r\n\r\n\t\titems.value = items.value.concat(res.result);\r\n\t};\r\n\r\n\tconst loadDebounce = debounce(() => load(), 200);\r\n\r\n\t/**\r\n\t * Выполнить поиск по указанному тексту\r\n\t *\r\n\t * Если длина текста меньше minLength, поиск не будет проивзеден\r\n\t *\r\n\t * Если текст не изменился, поиск не будет проивзеден\r\n\t * @param searchText - текст поиска\r\n\t * @param useDebounce - отложенное выполнение поиска\r\n\t */\r\n\tconst setSearchTextAndLoad = (searchText: string, useDebounce = true) => {\r\n\t\tif (!apiRequest) return;\r\n\r\n\t\tif (searchText.length < minLength) return;\r\n\r\n\t\t// условия поиска не поменялись, данные загружены\r\n\t\tif (searchText === _searchText && items.value.length) return;\r\n\r\n\t\t_searchText = searchText;\r\n\r\n\t\tif (useDebounce) {\r\n\t\t\tloadDebounce();\r\n\t\t} else {\r\n\t\t\tvoid load();\r\n\t\t}\r\n\t};\r\n\r\n\treturn {\r\n\t\titems,\r\n\t\tisLoading,\r\n\t\tloadAppend,\r\n\t\tsetSearchTextAndLoad,\r\n\t};\r\n};","<script setup lang=\"ts\">\r\nimport type { Ref, ComputedRef, ModelRef, ComponentInstance } from 'vue';\r\nimport { computed, ref, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport { invertKeyboardLayout } from '@/core/utils/keyboard';\r\nimport { TopPopup, TopPopupListItem, TopPopupWidgetInput } from '@/components/popup/popup';\r\nimport type PopupClass from '@/components/popup/lib/popup';\r\nimport type { Item, Props, Slots } from './selector2';\r\nimport { useAPI } from './api';\r\nimport Selector2ItemMulti from './itemMulti.vue';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\titems: () => [] as Array<Item>,\r\n\tsize: 's',\r\n\tminLength: 0,\r\n\tshowSelectedInInput: true,\r\n});\r\n\r\nconst model = defineModel<Props['modelValue']>() as ModelRef<Props['modelValue']>;\r\n\r\ndefineSlots<Slots>();\r\n\r\n/**\r\n * Текст поиска по результатам\r\n */\r\nconst searchText = ref('');\r\n\r\nconst itemAll = {\r\n\tid: 0,\r\n\tname: 'Все',\r\n};\r\n\r\n/**\r\n * Экземпляр компонента Popup\r\n */\r\nconst popupRef: Ref<ComponentInstance<typeof TopPopup> | null> = ref(null);\r\n\r\n/**\r\n * Получить доступ к объекту popup\r\n */\r\nconst getPopup = (): PopupClass | undefined => {\r\n\treturn popupRef.value?.popup;\r\n};\r\n\r\n// для storybook\r\nif ((window as any).__STORYBOOK_PREVIEW__ && !props.modelValue) {\r\n\twatch(\r\n\t\t() => props.multiselect,\r\n\t\t() => {\r\n\t\t\tmodel.value = props.multiselect ? [] : { id: null, name: '' };\r\n\t\t},\r\n\t\t{ immediate: true },\r\n\t);\r\n}\r\n\r\nconst API = useAPI(props.apiRequest, props.minLength, props.useCache);\r\n\r\n/**\r\n * Варианты выбора: props.items + \"Выбрать все\"\r\n */\r\nconst localItems: ComputedRef<Array<Item>> = computed(() => {\r\n\tconst items: Array<Item> = [];\r\n\r\n\tif (!props.multiselect && props.appendAllValue) {\r\n\t\titems.push(itemAll);\r\n\t}\r\n\r\n\tprops.items.forEach(item => items.push({ ...item }));\r\n\r\n\treturn items;\r\n});\r\n\r\n/**\r\n * Проверить, что элемент выбран\r\n */\r\nconst isSelected = (item: Item, checkNameForNullId = true) => {\r\n\tif (checkNameForNullId && item.id === null) {\r\n\t\tif (Array.isArray(model.value)) {\r\n\t\t\treturn model.value.some(itemSelected => itemSelected.id === item.id && itemSelected.name === item.name);\r\n\t\t} else {\r\n\t\t\treturn item.name === model.value.name;\r\n\t\t}\r\n\t}\r\n\r\n\tif (Array.isArray(model.value)) {\r\n\t\treturn model.value.some(itemSelected => itemSelected.id === item.id);\r\n\t} else {\r\n\t\treturn item.id === model.value.id;\r\n\t}\r\n};\r\n\r\n/**\r\n * Варианты выбора, которые выводятся\r\n */\r\nconst itemsForShow = computed(() => {\r\n\tconst searchString = searchText.value.toLowerCase();\r\n\tconst searchStringInvertKeyboard = invertKeyboardLayout(searchString);\r\n\r\n\tlet items: typeof localItems.value = [];\r\n\r\n\tlocalItems.value.forEach((item) => {\r\n\t\tconst itemName = item.name.toLowerCase();\r\n\r\n\t\tif (\r\n\t\t\titem.id === Number(searchString) ||\r\n\t\t\titemName.includes(searchString) ||\r\n\t\t\titemName.includes(searchStringInvertKeyboard)\r\n\t\t) {\r\n\t\t\tif (itemName === searchString || itemName === searchStringInvertKeyboard) {\r\n\t\t\t\titems.unshift(item);\r\n\t\t\t} else {\r\n\t\t\t\titems.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\titems.push(...API.items.value);\r\n\r\n\tif (\r\n\t\tprops.appendSearchToResult &&\r\n\t\t!!searchText.value &&\r\n\t\t(!items.length || items[0].name.toLowerCase() !== searchString)\r\n\t) {\r\n\t\titems.push({\r\n\t\t\tid: null,\r\n\t\t\tname: searchText.value,\r\n\t\t});\r\n\t}\r\n\r\n\tif (props.multiselect) {\r\n\t\titems = items.filter(item => !isSelected(item));\r\n\t}\r\n\r\n\treturn items;\r\n});\r\n\r\n/**\r\n * Выбрать значение\r\n *\r\n * Управляет закрытием окна\r\n */\r\nconst selectItem = async (item: Item) => {\r\n\tif (props.multiselect) {\r\n\t\tif (!Array.isArray(model.value)) return;\r\n\r\n\t\tif (isSelected(item)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst newModel = [...model.value];\r\n\t\tnewModel.push({ ...item });\r\n\t\tmodel.value = newModel;\r\n\r\n\t\tif (Core.state.isMobile) {\r\n\t\t\tgetPopup()?.close();\r\n\t\t} else {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tgetPopup()?.recalcPosition();\r\n\t\t\t\tgetPopup()?.elPopupWidget?.querySelector('input')?.focus();\r\n\r\n\t\t\t\t// сбросить введенный текст, только если больше не найдено результатов\r\n\t\t\t\tif (searchText.value) {\r\n\t\t\t\t\tif (!itemsForShow.value.length) {\r\n\t\t\t\t\t\tsearchText.value = '';\r\n\t\t\t\t\t\tAPI.items.value = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t} else {\r\n\t\t// сбросить введенный текст\r\n\t\tif (searchText.value) {\r\n\t\t\tsearchText.value = '';\r\n\t\t\tAPI.items.value = [];\r\n\t\t}\r\n\r\n\t\tif (JSON.stringify(item) !== JSON.stringify(model.value)) {\r\n\t\t\tmodel.value = { ...item };\r\n\t\t}\r\n\r\n\t\tgetPopup()?.close();\r\n\t}\r\n};\r\n\r\n/**\r\n * Выбрать следующее значение\r\n */\r\nconst selectNextItem = () => {\r\n\tif (!Array.isArray(model.value)) {\r\n\t\tconst currentIndex = localItems.value.findIndex(item => item.id === (model.value as Item).id);\r\n\t\tconst nextIndex = (currentIndex + 1) % localItems.value.length;\r\n\t\tmodel.value = { ...localItems.value[nextIndex] };\r\n\t}\r\n};\r\n\r\n/**\r\n * Удалить выбранное значение по id\r\n * @param id\r\n */\r\nconst deleteItemById = async (id: Item['id']) => {\r\n\tif (Array.isArray(model.value)) {\r\n\t\tmodel.value = model.value.filter(item => item.id !== id);\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tgetPopup()?.recalcPosition();\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst isOpened = ref(false); // флаг попап открыт\r\n\r\nif (props.apiRequest) {\r\n\twatch(isOpened, () => {\r\n\t\tif (isOpened.value) {\r\n\t\t\t// при открытии сразу выполнить поиск\r\n\t\t\tAPI.setSearchTextAndLoad(searchText.value, false);\r\n\t\t}\r\n\t});\r\n\r\n\t// отложенный поиск при вводе текста\r\n\twatch(searchText, () => API.setSearchTextAndLoad(searchText.value));\r\n}\r\n\r\nconst onScrollContentList = (e: Event) => {\r\n\tconst el = e.target as HTMLElement;\r\n\r\n\tif (el.scrollTop / (el.scrollHeight - el.offsetHeight) > 0.8) {\r\n\t\tAPI.loadAppend();\r\n\t}\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<TopPopup\r\n\t\tref=\"popupRef\"\r\n\t\t@open=\"isOpened = true\"\r\n\t\t@close=\"isOpened = false\"\r\n\t\t@scrollContentList=\"apiRequest ? onScrollContentList($event) : undefined\"\r\n\t\t:notch=\"false\"\r\n\t\t:transitionDuration=\"0\"\r\n\t>\r\n\t\t<template #opener>\r\n\t\t\t<div\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t'top-selector2' : true,\r\n\t\t\t\t\t'top-selector2-multiselect': multiselect,\r\n\t\t\t\t\t['top-size_' + size]: true,\r\n\t\t\t\t\t['top-disabled']: disabled,\r\n\t\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t\t['top-error']: isError,\r\n\t\t\t\t}\"\r\n\t\t\t>\r\n\t\t\t\t<template v-if=\"multiselect\">\r\n\t\t\t\t\t<div class=\"top-selector2_activeItems\">\r\n\t\t\t\t\t\t<Selector2ItemMulti\r\n\t\t\t\t\t\t\tv-for=\"item of model as Array<Item>\"\r\n\t\t\t\t\t\t\t:id=\"item.id\"\r\n\t\t\t\t\t\t\t:name=\"item.name\"\r\n\t\t\t\t\t\t\t@delete=\"deleteItemById\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\r\n\t\t\t\t<span v-if=\"!multiselect\" class=\"top-selector2_activeName top-ellipsis\">\r\n\t\t\t\t\t{{ !Array.isArray(model) ? model.name : '' }}\r\n\t\t\t\t</span>\r\n\r\n\t\t\t\t<span\r\n\t\t\t\t\tv-if=\"addChanger && !multiselect && localItems.length > 1 && !disabled\"\r\n\t\t\t\t\tclass=\"top-changer top-changer-selector\"\r\n\t\t\t\t\t@click.stop=\"selectNextItem\"\r\n\t\t\t\t></span>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\r\n\t\t<template #widget>\r\n\t\t\t<TopPopupWidgetInput\r\n\t\t\t\ttitle=\"Поиск\"\r\n\t\t\t\ticon=\"\"\r\n\t\t\t\tv-model=\"searchText\"\r\n\t\t\t\t:isLoading=\"API.isLoading.value\"\r\n\t\t\t\t:placeholder=\"!Array.isArray(model) && !multiselect && showSelectedInInput ? model.name : placeholder\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\r\n\t\t<template #contentList>\r\n\t\t\t<TopPopupListItem\r\n\t\t\t\tv-for=\"item of itemsForShow\"\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t'top-active': !Array.isArray(model) && !multiselect && model.name === item.name\r\n\t\t\t\t}\"\r\n\t\t\t\t:key=\"item.id ?? undefined\"\r\n\t\t\t\t@click.stop=\"selectItem(item)\"\r\n\t\t\t>\r\n\t\t\t\t<slot\r\n\t\t\t\t\tv-if=\"$slots.item\"\r\n\t\t\t\t\tname=\"item\"\r\n\t\t\t\t\t:item=\"item\"\r\n\t\t\t\t></slot>\r\n\r\n\t\t\t\t<template\r\n\t\t\t\t\tv-else\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ item.name }}\r\n\t\t\t\t</template>\r\n\t\t\t</TopPopupListItem>\r\n\r\n\t\t\t<TopPopupListItem\r\n\t\t\t\tv-if=\"!itemsForShow.length\"\r\n\t\t\t\ttype=\"regular\"\r\n\t\t\t>\r\n\t\t\t\tНет результатов\r\n\t\t\t</TopPopupListItem>\r\n\t\t</template>\r\n\t</TopPopup>\r\n</template>\r\n\r\n<style module>\r\n.top-selector2 {\r\n\twidth: 180px;\r\n\tmin-height: var(--top-forms-base-height);\r\n\tbox-sizing: border-box;\r\n\tposition: relative;\r\n\tdisplay: flex;\r\n\toverflow: hidden;\r\n\tpadding: var(--top-padding-1) var(--top-forms-padding);\r\n\tcolor: var(--top-forms-placeholder-color);\r\n\r\n\tborder-radius: var(--top-radius-2);\r\n\tborder: 1px solid var(--top-forms-border-color);\r\n\tbackground: var(--top-forms-background-color);\r\n}\r\n\r\n.top-selector2-multiselect {\r\n\twidth: unset;\r\n\tmin-width: 180px;\r\n\tpadding: var(--top-padding-1);\r\n}\r\n\r\n.top-selector2.top-active {\r\n\t--top-forms-border-color: var(--top-forms-border-color-hover);\r\n\t--top-forms-background-color: var(--top-forms-background-color-hover);\r\n}\r\n\r\n.top-selector2_activeItems {\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tgap: var(--top-padding-1);\r\n\tmax-width: 100%;\r\n}\r\n\r\n.top-selector2_activeName {\r\n\twhite-space: nowrap;\r\n}\r\n\r\n.top-changer-selector {\r\n\ttransform: translateX(-16px);\r\n}\r\n</style>\r\n","import type { ComponentCustomProps } from 'vue';\r\n\r\nimport EditArea from './editArea/editArea.vue';\r\nimport EditInput from './editInput/editInput.vue';\r\nimport RadioGroup from './radioGroup/radioGroup.vue';\r\nimport Selector2 from './selector2/selector2.vue';\r\nimport Menu from './menu/menu.vue';\r\n\r\nexport const TopEditArea = EditArea as typeof EditArea & ComponentCustomProps;\r\nexport const TopEditInput = EditInput as typeof EditInput & ComponentCustomProps;\r\nexport const TopRadioGroup = RadioGroup as typeof RadioGroup & ComponentCustomProps;\r\nexport const TopSelector2 = Selector2 as typeof Selector2 & ComponentCustomProps;\r\nexport const TopMenu = Menu as typeof Menu & ComponentCustomProps;\r\n"],"names":["props","__props","emit","__emit","isChanged","vue","localValue","cancelBtnText","submit","value","intermediateValue","elRef","model","_a","item","_c","_b","items","isLoading","_searchText","apiRequest","res","indexWithError","callAPIRequest","_nextOffset","loadAppend","searchText","minLength","popupRef","API","useAPI","localItems","itemAll","itemSelected","itemsForShow","searchStringInvertKeyboard","utils_keyboard","searchString","isSelected","selectItem","newModel","forms","getPopup","_d","nextIndex","deleteItemById","id","isOpened","onScrollContentList","e","el","TopEditArea","EditArea","TopEditInput","EditInput","TopRadioGroup","RadioGroup","TopSelector2","Selector2","TopMenu","menu"],"mappings":"6xBAQA,MAAAA,EAAAC,EAQAC,EAAAC,+CAMAC,EAAAC,EAAA,SAAA,IAAAC,EAAA,QAAAN,EAAA,YAAA,EAEAO,EAAAF,EAAA,SAAA,IACCL,EAAA,iBAAA,GAEAA,EAAA,mBAAA,CAAAI,EAAA,MAAAJ,EAAA,UAEAA,EAAA,UAAa,EAGdQ,EAAAC,GAAA,CACCP,EAAA,SAAAO,CAAA,EAEAH,EAAA,MAAAN,EAAA,YAAyB,2CAKxBE,EAAA,OAAA,EAEA,OAGDI,EAAA,MAAAN,EAAA,YAAyB,8CAIsB,y2EC3ChD,MAAAA,EAAAC,2DAKCS,EAAA,MAAAV,EAAA,UAAgC,CAAA,EAGjC,MAAAE,EAAAC,uCAGkD,ojCCRlDH,EAAAC,EAMAU,EAAAN,EAAA,IAAA,IAAA,EAEAA,EAAA,MAAAO,EAAA,IAAA,gBACCC,EAAAb,EAAA,cAAA,MAAAa,EAAA,KAAAC,GAAAA,EAAA,QAAAF,EAAA,SACCA,EAAA,QAAAG,GAAAC,EAAAhB,EAAA,cAAA,YAAAgB,EAAA,KAAA,YAAAD,EAAA,QAAA,uGAGuE,EAAA,CAAA,UAAA,EAAA,CAAA,gzCCbxE,MAAAE,EAAAZ,EAAA,IAAA,CAAA,CAAA,EAKAa,EAAAb,EAAA,IAAA,EAAA,EAEA,IAAAc,EAAA,0BAICC,EAAA,OAAA,MAAA,uBASA,GAAA,CAAAA,EAAA,sBAQCA,EAAA,QAAA,IAAA,4DAcD,GAJAF,EAAA,MAAA,GACAG,EAAA,MAAAD,EAAA,KAAA,EACAF,EAAA,MAAA,GAEAG,EAAA,OAAA,6EAKC,qEAID,GAAAC,IAAA,GAAA,CACC,QAAA,KAAA,YAAAA,CAAA,mBAAA,EAEA,mCAOM,cAOP,GAAA,CAAAF,EAAA,OAEAA,EAAA,OAAA,OAAA,EACAA,EAAA,OAAA,OAAAD,EAEA,MAAAE,EAAA,MAAAE,EAAA,EACAF,IAEAG,EAAAH,EAAA,WAEAJ,EAAA,MAAAI,EAAA,OAAkB,cAalB,GANA,CAAAD,GAGA,CAAAI,GAGAN,EAAA,MAAA,OAEAE,EAAA,OAAA,OAAAI,EACAJ,EAAA,OAAA,OAAAD,EAEA,MAAAE,EAAA,MAAAE,EAAA,EACAF,IAEAG,EAAAH,EAAA,WAEAJ,EAAA,MAAAA,EAAA,MAAA,OAAAI,EAAA,MAAA,EAA2C,4BA+B5C,MAAA,CAAO,MAAAJ,EACN,UAAAC,EACA,WAAAO,EACA,gCAnBAL,IAEAM,EAAA,OAAAC,0CAWA,CAOA,6uCCtIF,MAAA3B,EAAAC,+BAcAyB,EAAArB,EAAA,IAAA,EAAA,oBAIO,EAMPuB,EAAAvB,EAAA,IAAA,IAAA,eAMC,OAAAQ,EAAAe,EAAA,QAAA,YAAAf,EAAA,KAAuB,+CAKvBR,EAAA,wBACa,IAAA,CAEXO,EAAA,MAAAZ,EAAA,YAAA,CAAA,EAAA,CAAA,GAAA,KAAA,KAAA,EAAA,GACD,CAAA,UAAA,EAAA,CACkB,EAIpB,MAAA6B,EAAAC,EAAA9B,EAAA,WAAAA,EAAA,UAAAA,EAAA,QAAA,EAKA+B,EAAA1B,EAAA,SAAA,IAAA,CACC,MAAAY,EAAA,CAAA,0CAGCA,EAAA,KAAAe,CAAA,EAGDhC,EAAA,MAAA,QAAAc,GAAAG,EAAA,KAAA,CAAA,GAAAH,CAAA,CAAA,CAAA,GAEO,CAAA,+IAgBNF,EAAA,MAAA,KAAAqB,GAAAA,EAAA,KAAAnB,EAAA,EAAA,oBASFoB,EAAA7B,EAAA,SAAA,IAAA,+BAEC8B,EAAAC,EAAA,qBAAAC,CAAA,EAEA,IAAApB,EAAA,CAAA,0HAWGA,EAAA,QAAAH,CAAA,EAEAG,EAAA,KAAAH,CAAA,EAEF,CAAA,2BAKDd,EAAA,sBAAA0B,EAAA,QAAA,CAAAT,EAAA,QAAAA,EAAA,CAAA,EAAA,KAAA,YAAA,IAAAoB,oBAMM,KAAAX,EAAA,KACa,CAAA,EAInB1B,EAAA,cACCiB,EAAAA,EAAA,OAAAH,GAAA,CAAAwB,EAAAxB,CAAA,CAAA,IAGM,CAAA,EAQRyB,EAAA,MAAAzB,GAAA,SACC,GAAAd,EAAA,YAAA,CAGC,4BAAAsC,EAAAxB,CAAA,EACC,2CAKDF,EAAA,MAAA4B,EAEAC,EAAA,KAAA,MAAA,UACC5B,EAAA6B,EAAA,IAAA,MAAA7B,EAAA,qCAGCA,EAAA6B,EAAA,IAAA,MAAA7B,EAAA,kBACA8B,GAAA5B,GAAAC,EAAA0B,EAAA,IAAA,YAAA1B,EAAA,gBAAA,YAAAD,EAAA,cAAA,WAAA,MAAA4B,EAAA,QAGAjB,EAAA,QACCQ,EAAA,MAAA,SACCR,EAAA,MAAA,GACAG,EAAA,MAAA,MAAA,CAAA,GAEF,CAAA,CAEF,MAGAH,EAAA,QACCA,EAAA,MAAA,GACAG,EAAA,MAAA,MAAA,CAAA,GAGD,KAAA,UAAAf,CAAA,IAAA,KAAA,UAAAF,EAAA,KAAA,qBAIAI,EAAA0B,EAAA,IAAA,MAAA1B,EAAA,OACD,qCASC,MAAA4B,2CAAA,GAAAb,EAAA,MAAA,OACAnB,EAAA,MAAA,CAAA,GAAAmB,EAAA,MAAAa,CAAA,CAAA,EACD,EAODC,EAAA,MAAAC,GAAA,0BAEElC,EAAA,MAAAA,EAAA,MAAA,OAAAE,GAAAA,EAAA,KAAAgC,CAAA,yBAGCjC,EAAA6B,EAAA,IAAA,MAAA7B,EAAA,gBAA2B,CAAA,EAE7B,EAGDkC,EAAA1C,EAAA,IAAA,EAAA,EAEAL,EAAA,aACCK,EAAA,MAAA0C,EAAA,IAAA,CACCA,EAAA,yCAGA,CAAA,EAID1C,EAAA,MAAAqB,EAAA,IAAAG,EAAA,qBAAAH,EAAA,KAAA,CAAA,GAGD,MAAAsB,EAAAC,GAAA,CACC,MAAAC,EAAAD,EAAA,OAEAC,EAAA,WAAAA,EAAA,aAAAA,EAAA,cAAA,IACCrB,EAAA,WAAA,CACD,8gFC5NMsB,GAAAC,EACAC,GAAAC,EACAC,GAAAC,EACAC,GAAAC,GACAC,GAAAC,EAAA"}
1
+ {"version":3,"file":"formsExt.amd.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/radioGroup/radioGroup.vue","../../src/components/formsExt/selector2/api.ts","../../src/components/formsExt/selector2/selector2.vue","../../src/components/formsExt/formsExt.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, ref } from 'vue';\r\nimport Button from '@/components/forms/button/button.vue';\r\nimport type { Emits, Props } from './editArea';\r\nimport Textarea from '@/components/forms/textarea/textarea.vue';\r\n\r\n// TODO: добавить переменную top-forms-fixed-height и использовать ее при добавлении отступов у страницы\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tdefaultValue: '',\r\n\tcancelText: 'Cancel',\r\n\tsubmitText: 'Send',\r\n\tcloseText: 'Close',\r\n\texpandable: true,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = ref(props.defaultValue);\r\n\r\nconst isFocused = ref(props.isFocused);\r\n\r\nconst isChanged = computed(() => localValue.value !== props.defaultValue);\r\n\r\nconst cancelBtnText = computed(() => {\r\n\tif (props.attachToKeyboard) return '';\r\n\r\n\tif (props.forceShowCloseBtn && !isChanged.value) return props.closeText;\r\n\r\n\treturn props.cancelText;\r\n});\r\n\r\nconst submit = (value: string) => {\r\n\temit('submit', value);\r\n\r\n\tlocalValue.value = props.defaultValue;\r\n};\r\n\r\nconst cancel = () => {\r\n\tif (props.forceShowCloseBtn && !isChanged.value) {\r\n\t\temit('close');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tlocalValue.value = props.defaultValue;\r\n};\r\n\r\nconst clickOnTitle = () => {\r\n\tif (props.attachToKeyboard) emit('clickOnTitle');\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t'top-editArea': true,\r\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\r\n\t\t}\"\r\n\t>\r\n\t\t<div\r\n\t\t\tv-if=\"title\"\r\n\t\t\tclass=\"top-editArea_title\"\r\n\t\t\t@click=\"clickOnTitle()\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\t:class=\"{\r\n\t\t\t\t'top-editArea_form': true,\r\n\t\t\t\t'top-error': isError,\r\n\t\t\t\t'top-focus': isFocused,\r\n\t\t\t}\"\r\n\t\t>\r\n\t\t\t<Textarea\r\n\t\t\t\tv-top-focus=\"{ disabled: !isFocused }\"\r\n\t\t\t\tv-model=\"localValue\"\r\n\t\t\t\t:name=\"name\"\r\n\t\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t\t:rows=\"rows\"\r\n\t\t\t\t:minHeight=\"minHeight\"\r\n\t\t\t\t:expandable=\"expandable\"\r\n\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t:readonly=\"readonly\"\r\n\t\t\t\t:isError=\"isError\"\r\n\t\t\t\t:hint=\"hint\"\r\n\t\t\t\tclass=\"top-editArea_element\"\r\n\t\t\t\t@focus=\"() => isFocused = true\"\r\n\t\t\t\t@blur=\"() => isFocused = false\"\r\n\t\t\t\t@keyup.esc=\"cancel\"\r\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\r\n\t\t\t/>\r\n\r\n\t\t\t<div class=\"top-editArea_footer\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"isChanged || forceShowCloseBtn\"\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\tstyling=\"soft\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"cancel\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ cancelBtnText }}\r\n\t\t\t\t</Button>\r\n\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\tv-if=\"isChanged\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"submit(localValue)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ attachToKeyboard ? '' : submitText }}\r\n\t\t\t\t</Button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editArea {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 6px;\r\n}\r\n\r\n.top-editArea_title {\r\n\tfont-size: 12px;\r\n}\r\n\r\n.top-editArea_form {\r\n\tflex-direction: column;\r\n}\r\n\r\n.top-editArea_form:hover {\r\n\tborder-color: var(--top-forms-border-color-hover);\r\n}\r\n\r\n.top-editArea_form.top-focus {\r\n\tborder-color: var(--color-line-primary-2);\r\n\toutline: none;\r\n}\r\n\r\n/* textarea в EditArea */\r\n.top-textarea {\r\n\twidth: 100%;\r\n}\r\n\r\n.top-editArea_element.top-textarea_textarea {\r\n\tborder: none;\r\n\toutline: none;\r\n\tanimation: none;\r\n}\r\n\r\n/* footer */\r\n.top-editArea_footer {\r\n\tpadding: var(--top-forms-padding);\r\n\tdisplay: flex;\r\n\tmin-height: 32px;\r\n\tjustify-content: flex-end;\r\n\tgap: var(--top-forms-padding);\r\n}\r\n\r\n/* attachedToKeyboard */\r\n.top-editArea-attachedToKeyboard {\r\n\tbackground: var(--top-forms-background-color);\r\n\tmargin-bottom: env(keyboard-inset-height, 0);\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\tleft: 0;\r\n\tz-index: 2;\r\n\tgap: 0;\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_form {\r\n\tborder-radius: 0;\r\n\tborder: none;\r\n\tborder-top: 1px solid var(--top-forms-border-color);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_title {\r\n\tcursor: pointer;\r\n\tborder-top: 1px solid var(--color-line-2-opacity);\r\n\tpadding: var(--top-forms-padding);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\r\n\tborder-radius: 100%;\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-button.top-editArea_button {\r\n\tmin-width: auto;\r\n\tpadding: 0;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { ref, toRef, watch } from 'vue';\r\nimport type { Emits, Props } from './editInput';\r\nimport TopInput from '@/components/forms/input/input.vue';\r\nimport TopButton from '@/components/forms/button/button.vue';\r\n\r\nconst props = defineProps<Props>();\r\n\r\nconst intermediateValue = ref(props.modelValue);\r\n\r\nwatch(toRef(props.modelValue), () => {\r\n\tintermediateValue.value = props.modelValue;\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst submit = () => {\r\n\temit('update:modelValue', intermediateValue.value);\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"top-editInput\">\r\n\t\t<TopInput\r\n\t\t\t:=\"input\"\r\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\r\n\t\t\t@keydown.enter.stop=\"submit\"\r\n\t\t\tv-model=\"intermediateValue\"\r\n\t\t/>\r\n\r\n\t\t<TopButton\r\n\t\t\tv-if=\"intermediateValue !== modelValue\"\r\n\t\t\ticon=\"\"\r\n\t\t\tstyling=\"soft\"\r\n\t\t\t:=\"button\"\r\n\t\t\t@click=\"submit\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editInput {\r\n\twidth: 220px;\r\n\tflex-grow: 1;\r\n\tdisplay: flex;\r\n\talign-items: flex-end;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-editInput .top-input {\r\n\twidth: unset;\r\n\tflex-grow: 1;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport type { Ref } from '@vue/reactivity';\r\nimport { ref, watch } from 'vue';\r\nimport type { Props, Emits } from './radioGroup';\r\n\r\nconst model = defineModel<string>({\r\n\trequired: true,\r\n});\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst elRef: Ref<HTMLElement | null> = ref(null);\r\n\r\nwatch(model, () => {\r\n\tif (!props.radiosProps?.some(item => item.value === model.value)) {\r\n\t\tmodel.value = props.radiosProps?.[0]?.value ?? '';\r\n\t}\r\n\r\n\telRef.value?.querySelector('.radioGroup_item-selected')?.scrollIntoView();\r\n}, { immediate: true });\r\n\r\nconst uid = 'radioGroup-' + Math.random();\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tref=\"elRef\"\r\n\t\t:class=\"{\r\n\t\t\t['top-radioGroup']: true,\r\n\t\t\t['top-scrollBarXHidding']: true,\r\n\t\t\t['top-size_' + size]: !!size,\r\n\t\t\t['top-error']: isError,\r\n\t\t}\"\r\n\t>\r\n\t\t<label\r\n\t\t\tv-for=\"item of radiosProps\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-radioGroup_item-selected']: item.value === model,\r\n\t\t\t\t['top-radioGroup_item']: true,\r\n\t\t\t\t['top-forms-focusable']: true,\r\n\t\t\t\t['top-disabled']: item.disabled,\r\n\t\t\t}\"\r\n\t\t\t:data-top-icon=\"item.icon\"\r\n\t\t\t@click=\"model = item.value\"\r\n\t\t>\r\n\t\t\t{{ item.title }}\r\n\r\n\t\t\t<span\r\n\t\t\t\tv-if=\"showIndicator\"\r\n\t\t\t\tclass=\"top-radioGroup_circle\"\r\n\t\t\t></span>\r\n\r\n\t\t\t<!-- Для нативной навигации -->\r\n\t\t\t<input\r\n\t\t\t\tv-model=\"model\"\r\n\t\t\t\t:name=\"uid\"\r\n\t\t\t\ttype=\"radio\"\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t['top-unvisible']: true,\r\n\t\t\t\t}\"\r\n\t\t\t\t:value=\"item.value\"\r\n\t\t\t\t:disabled=\"item.disabled\"\r\n\t\t\t/>\r\n\t\t</label>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n@import \"./styles/top-scrollBar.css\";\r\n\r\n.top-radioGroup {\r\n\tuser-select: none;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 8px;\r\n\tbackground-color: var(--color-bg-2);\r\n\theight: var(--top-forms-base-height);\r\n\tpadding: 2px;\r\n\tgap: 2px;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n}\r\n\r\n.top-radioGroup_item {\r\n\tcolor: var(--color-text-2);\r\n\tcursor: pointer;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 6px;\r\n\theight: calc(var(--top-forms-base-height) - 4px);\r\n\tpadding: 0 16px;\r\n\tfont-weight: 400;\r\n\twhite-space: nowrap;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tflex-grow: 1;\r\n\tgap: 4px;\r\n}\r\n\r\n.top-radioGroup_item:hover {\r\n\tbackground-color: var(--color-bg-3);\r\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\r\n}\r\n\r\n/* selected */\r\n.top-radioGroup_item-selected {\r\n\tcolor: var(--color-text-1);\r\n\tpointer-events: none;\r\n\tbackground-color: var(--color-bg-secondary-1);\r\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\r\n}\r\n\r\n/* circle */\r\n.top-radioGroup_circle {\r\n\tcontent: \"\";\r\n\tbox-sizing: border-box;\r\n\tborder: 1px solid var(--color-line-3-opacity);\r\n\tborder-radius: 50%;\r\n\tpadding: 3px;\r\n\tmargin-left: auto;\r\n\twidth: calc(var(--top-forms-option-height) - 3px * 2);\r\n\theight: calc(var(--top-forms-option-height) - 3px * 2);\r\n}\r\n\r\n.top-radioGroup_item:hover .top-radioGroup_circle:before {\r\n\tborder-color: var(--color-line-primary-1);\r\n}\r\n\r\n/* circle selected */\r\n.top-radioGroup_item-selected .top-radioGroup_circle {\r\n\tborder-color: var(--color-line-primary-1);\r\n\tborder-width: 5px;\r\n}\r\n\r\n.top-radioGroup_item-selected:hover .top-radioGroup_circle {\r\n\tborder-color: var(--color-line-primary-2);\r\n}\r\n\r\n/* top-disabled */\r\n.top-radioGroup_item.top-disabled {\r\n\t--top-icon-color: var(--color-text-3);\r\n\r\n\tcolor: var(--color-text-3);\r\n}\r\n\r\n.top-radioGroup_item.top-disabled .top-radioGroup_circle {\r\n\tborder-color: var(--color-theme-400);\r\n\tbackground-color: var(--color-theme-100);\r\n}\r\n\r\n/* top-error */\r\n.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle {\r\n\tborder-color: var(--color-negative);\r\n}\r\n</style>\r\n","import type { Ref } from 'vue';\r\nimport { ref } from 'vue';\r\nimport { debounce } from 'lodash';\r\nimport type { Item, Props } from './selector2';\r\n\r\nexport const useAPI = (apiRequest: Props['apiRequest'], minLength: number, useCache: Props['useCache']) => {\r\n\t/**\r\n\t * Список, полученный через API\r\n\t */\r\n\tconst items: Ref<Array<Item>> = ref([]);\r\n\r\n\t/**\r\n\t * Флаг - идет загрузка\r\n\t */\r\n\tconst isLoading = ref(false);\r\n\r\n\tlet _searchText = '';\r\n\tlet _nextOffset: number | undefined;\r\n\r\n\tif (apiRequest && !apiRequest.params.limit) {\r\n\t\tapiRequest.params.limit = 100;\r\n\t}\r\n\r\n\t/**\r\n\t * Выполнить обращение к API\r\n\t *\r\n\t * При ошибке вернет undefined\r\n\t */\r\n\tconst callAPIRequest = async (): Promise<{ nextOffset?: number, result: Array<Item> } | undefined> => {\r\n\t\tif (!apiRequest) return;\r\n\r\n\t\tlet res;\r\n\t\tlet cacheKey;\r\n\r\n\t\tif (useCache) {\r\n\t\t\t// кэш для полученных ответов через apiRequest\r\n\t\t\t// общий для всех компонентов, использующих apiRequest\r\n\t\t\tapiRequest.cache ??= new Map();\r\n\r\n\t\t\tcacheKey = JSON.stringify(apiRequest.params);\r\n\t\t\tres = apiRequest.cache.get(cacheKey);\r\n\r\n\t\t\tif (res) {\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tisLoading.value = true;\r\n\t\tres = await apiRequest.call();\r\n\t\tisLoading.value = false;\r\n\r\n\t\tif (res.errors) return;\r\n\r\n\t\tif (!Array.isArray(res.result)) {\r\n\t\t\tconsole.warn(`В result ожидался массив`);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst indexWithError = (res.result as Array<Item | any>).findIndex(item => item.id === undefined || item.name === undefined);\r\n\t\tif (indexWithError !== -1) {\r\n\t\t\tconsole.warn(`В result[${indexWithError}] нет id или name`);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (useCache) {\r\n\t\t\tapiRequest.cache.set(cacheKey as string, res);\r\n\t\t}\r\n\r\n\t\treturn res;\r\n\t};\r\n\r\n\t/**\r\n\t * Загрузить items\r\n\t */\r\n\tconst load = async () => {\r\n\t\tif (!apiRequest) return;\r\n\r\n\t\tapiRequest.params.offset = 0;\r\n\t\tapiRequest.params.search = _searchText;\r\n\r\n\t\tconst res = await callAPIRequest();\r\n\t\tif (!res) return;\r\n\r\n\t\t_nextOffset = res.nextOffset;\r\n\r\n\t\titems.value = res.result;\r\n\t};\r\n\r\n\t/**\r\n\t * Загрузить следующую страницу items\r\n\t */\r\n\tconst loadAppend = async () => {\r\n\t\tif (!apiRequest) return;\r\n\r\n\t\t// данных о следующих страницах не обнаружено\r\n\t\tif (!_nextOffset) return;\r\n\r\n\t\t// дозагружать нельзя, если не завершена предыдущшая загрузка\r\n\t\tif (isLoading.value) return;\r\n\r\n\t\tapiRequest.params.offset = _nextOffset;\r\n\t\tapiRequest.params.search = _searchText;\r\n\r\n\t\tconst res = await callAPIRequest();\r\n\t\tif (!res) return;\r\n\r\n\t\t_nextOffset = res.nextOffset;\r\n\r\n\t\titems.value = items.value.concat(res.result);\r\n\t};\r\n\r\n\tconst loadDebounce = debounce(() => load(), 200);\r\n\r\n\t/**\r\n\t * Выполнить поиск по указанному тексту\r\n\t *\r\n\t * Если длина текста меньше minLength, поиск не будет проивзеден\r\n\t *\r\n\t * Если текст не изменился, поиск не будет проивзеден\r\n\t * @param searchText - текст поиска\r\n\t * @param useDebounce - отложенное выполнение поиска\r\n\t */\r\n\tconst setSearchTextAndLoad = (searchText: string, useDebounce = true) => {\r\n\t\tif (!apiRequest) return;\r\n\r\n\t\tif (searchText.length < minLength) return;\r\n\r\n\t\t// условия поиска не поменялись, данные загружены\r\n\t\tif (searchText === _searchText && items.value.length) return;\r\n\r\n\t\t_searchText = searchText;\r\n\r\n\t\tif (useDebounce) {\r\n\t\t\tloadDebounce();\r\n\t\t} else {\r\n\t\t\tvoid load();\r\n\t\t}\r\n\t};\r\n\r\n\treturn {\r\n\t\titems,\r\n\t\tisLoading,\r\n\t\tloadAppend,\r\n\t\tsetSearchTextAndLoad,\r\n\t};\r\n};","<script setup lang=\"ts\">\r\nimport type { Ref, ComputedRef, ModelRef, ComponentInstance } from 'vue';\r\nimport { computed, ref, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport { invertKeyboardLayout } from '@/core/utils/keyboard';\r\nimport { TopPopup, TopPopupListItem, TopPopupWidgetInput } from '@/components/popup/popup';\r\nimport type PopupClass from '@/components/popup/lib/popup';\r\nimport type { Item, Props, Slots } from './selector2';\r\nimport { useAPI } from './api';\r\nimport Selector2ItemMulti from './itemMulti.vue';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\titems: () => [] as Array<Item>,\r\n\tsize: 's',\r\n\tminLength: 0,\r\n\tshowSelectedInInput: true,\r\n});\r\n\r\nconst model = defineModel<Props['modelValue']>() as ModelRef<Props['modelValue']>;\r\n\r\ndefineSlots<Slots>();\r\n\r\n/**\r\n * Текст поиска по результатам\r\n */\r\nconst searchText = ref('');\r\n\r\nconst itemAll = {\r\n\tid: 0,\r\n\tname: 'Все',\r\n};\r\n\r\n/**\r\n * Экземпляр компонента Popup\r\n */\r\nconst popupRef: Ref<ComponentInstance<typeof TopPopup> | null> = ref(null);\r\n\r\n/**\r\n * Получить доступ к объекту popup\r\n */\r\nconst getPopup = (): PopupClass | undefined => {\r\n\treturn popupRef.value?.popup;\r\n};\r\n\r\n// для storybook\r\nif ((window as any).__STORYBOOK_PREVIEW__ && !props.modelValue) {\r\n\twatch(\r\n\t\t() => props.multiselect,\r\n\t\t() => {\r\n\t\t\tmodel.value = props.multiselect ? [] : { id: null, name: '' };\r\n\t\t},\r\n\t\t{ immediate: true },\r\n\t);\r\n}\r\n\r\nconst API = useAPI(props.apiRequest, props.minLength, props.useCache);\r\n\r\n/**\r\n * Варианты выбора: props.items + \"Выбрать все\"\r\n */\r\nconst localItems: ComputedRef<Array<Item>> = computed(() => {\r\n\tconst items: Array<Item> = [];\r\n\r\n\tif (!props.multiselect && props.appendAllValue) {\r\n\t\titems.push(itemAll);\r\n\t}\r\n\r\n\tprops.items.forEach(item => items.push({ ...item }));\r\n\r\n\treturn items;\r\n});\r\n\r\n/**\r\n * Проверить, что элемент выбран\r\n */\r\nconst isSelected = (item: Item, checkNameForNullId = true) => {\r\n\tif (checkNameForNullId && item.id === null) {\r\n\t\tif (Array.isArray(model.value)) {\r\n\t\t\treturn model.value.some(itemSelected => itemSelected.id === item.id && itemSelected.name === item.name);\r\n\t\t} else {\r\n\t\t\treturn item.name === model.value.name;\r\n\t\t}\r\n\t}\r\n\r\n\tif (Array.isArray(model.value)) {\r\n\t\treturn model.value.some(itemSelected => itemSelected.id === item.id);\r\n\t} else {\r\n\t\treturn item.id === model.value.id;\r\n\t}\r\n};\r\n\r\n/**\r\n * Варианты выбора, которые выводятся\r\n */\r\nconst itemsForShow = computed(() => {\r\n\tconst searchString = searchText.value.toLowerCase();\r\n\tconst searchStringInvertKeyboard = invertKeyboardLayout(searchString);\r\n\r\n\tlet items: typeof localItems.value = [];\r\n\r\n\tlocalItems.value.forEach((item) => {\r\n\t\tconst itemName = item.name.toLowerCase();\r\n\r\n\t\tif (\r\n\t\t\titem.id === Number(searchString) ||\r\n\t\t\titemName.includes(searchString) ||\r\n\t\t\titemName.includes(searchStringInvertKeyboard)\r\n\t\t) {\r\n\t\t\tif (itemName === searchString || itemName === searchStringInvertKeyboard) {\r\n\t\t\t\titems.unshift(item);\r\n\t\t\t} else {\r\n\t\t\t\titems.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\titems.push(...API.items.value);\r\n\r\n\tif (\r\n\t\tprops.appendSearchToResult &&\r\n\t\t!!searchText.value &&\r\n\t\t(!items.length || items[0].name.toLowerCase() !== searchString)\r\n\t) {\r\n\t\titems.push({\r\n\t\t\tid: null,\r\n\t\t\tname: searchText.value,\r\n\t\t});\r\n\t}\r\n\r\n\tif (props.multiselect) {\r\n\t\titems = items.filter(item => !isSelected(item));\r\n\t}\r\n\r\n\treturn items;\r\n});\r\n\r\n/**\r\n * Выбрать значение\r\n *\r\n * Управляет закрытием окна\r\n */\r\nconst selectItem = async (item: Item) => {\r\n\tif (props.multiselect) {\r\n\t\tif (!Array.isArray(model.value)) return;\r\n\r\n\t\tif (isSelected(item)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst newModel = [...model.value];\r\n\t\tnewModel.push({ ...item });\r\n\t\tmodel.value = newModel;\r\n\r\n\t\tif (Core.state.isMobile) {\r\n\t\t\tgetPopup()?.close();\r\n\t\t} else {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tgetPopup()?.recalcPosition();\r\n\t\t\t\tgetPopup()?.elPopupWidget?.querySelector('input')?.focus();\r\n\r\n\t\t\t\t// сбросить введенный текст, только если больше не найдено результатов\r\n\t\t\t\tif (searchText.value) {\r\n\t\t\t\t\tif (!itemsForShow.value.length) {\r\n\t\t\t\t\t\tsearchText.value = '';\r\n\t\t\t\t\t\tAPI.items.value = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t} else {\r\n\t\t// сбросить введенный текст\r\n\t\tif (searchText.value) {\r\n\t\t\tsearchText.value = '';\r\n\t\t\tAPI.items.value = [];\r\n\t\t}\r\n\r\n\t\tif (JSON.stringify(item) !== JSON.stringify(model.value)) {\r\n\t\t\tmodel.value = { ...item };\r\n\t\t}\r\n\r\n\t\tgetPopup()?.close();\r\n\t}\r\n};\r\n\r\n/**\r\n * Выбрать следующее значение\r\n */\r\nconst selectNextItem = () => {\r\n\tif (!Array.isArray(model.value)) {\r\n\t\tconst currentIndex = localItems.value.findIndex(item => item.id === (model.value as Item).id);\r\n\t\tconst nextIndex = (currentIndex + 1) % localItems.value.length;\r\n\t\tmodel.value = { ...localItems.value[nextIndex] };\r\n\t}\r\n};\r\n\r\n/**\r\n * Удалить выбранное значение по id\r\n * @param id\r\n */\r\nconst deleteItemById = async (id: Item['id']) => {\r\n\tif (Array.isArray(model.value)) {\r\n\t\tmodel.value = model.value.filter(item => item.id !== id);\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tgetPopup()?.recalcPosition();\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst isOpened = ref(false); // флаг попап открыт\r\n\r\nif (props.apiRequest) {\r\n\twatch(isOpened, () => {\r\n\t\tif (isOpened.value) {\r\n\t\t\t// при открытии сразу выполнить поиск\r\n\t\t\tAPI.setSearchTextAndLoad(searchText.value, false);\r\n\t\t}\r\n\t});\r\n\r\n\t// отложенный поиск при вводе текста\r\n\twatch(searchText, () => API.setSearchTextAndLoad(searchText.value));\r\n}\r\n\r\nconst onScrollContentList = (e: Event) => {\r\n\tconst el = e.target as HTMLElement;\r\n\r\n\tif (el.scrollTop / (el.scrollHeight - el.offsetHeight) > 0.8) {\r\n\t\tAPI.loadAppend();\r\n\t}\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<TopPopup\r\n\t\tref=\"popupRef\"\r\n\t\t@open=\"isOpened = true\"\r\n\t\t@close=\"isOpened = false\"\r\n\t\t@scrollContentList=\"apiRequest ? onScrollContentList($event) : undefined\"\r\n\t\t:notch=\"false\"\r\n\t\t:transitionDuration=\"0\"\r\n\t>\r\n\t\t<template #opener>\r\n\t\t\t<div\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t'top-selector2' : true,\r\n\t\t\t\t\t'top-selector2-multiselect': multiselect,\r\n\t\t\t\t\t['top-size_' + size]: true,\r\n\t\t\t\t\t['top-disabled']: disabled,\r\n\t\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t\t['top-error']: isError,\r\n\t\t\t\t}\"\r\n\t\t\t>\r\n\t\t\t\t<template v-if=\"multiselect\">\r\n\t\t\t\t\t<div class=\"top-selector2_activeItems\">\r\n\t\t\t\t\t\t<Selector2ItemMulti\r\n\t\t\t\t\t\t\tv-for=\"item of model as Array<Item>\"\r\n\t\t\t\t\t\t\t:id=\"item.id\"\r\n\t\t\t\t\t\t\t:name=\"item.name\"\r\n\t\t\t\t\t\t\t@delete=\"deleteItemById\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\r\n\t\t\t\t<span v-if=\"!multiselect\" class=\"top-selector2_activeName top-ellipsis\">\r\n\t\t\t\t\t{{ !Array.isArray(model) ? model.name : '' }}\r\n\t\t\t\t</span>\r\n\r\n\t\t\t\t<span\r\n\t\t\t\t\tv-if=\"addChanger && !multiselect && localItems.length > 1 && !disabled\"\r\n\t\t\t\t\tclass=\"top-changer top-changer-selector\"\r\n\t\t\t\t\t@click.stop=\"selectNextItem\"\r\n\t\t\t\t></span>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\r\n\t\t<template #widget>\r\n\t\t\t<TopPopupWidgetInput\r\n\t\t\t\ttitle=\"Поиск\"\r\n\t\t\t\ticon=\"\"\r\n\t\t\t\tv-model=\"searchText\"\r\n\t\t\t\t:isLoading=\"API.isLoading.value\"\r\n\t\t\t\t:placeholder=\"!Array.isArray(model) && !multiselect && showSelectedInInput ? model.name : placeholder\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\r\n\t\t<template #contentList>\r\n\t\t\t<TopPopupListItem\r\n\t\t\t\tv-for=\"item of itemsForShow\"\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t'top-active': !Array.isArray(model) && !multiselect && model.name === item.name\r\n\t\t\t\t}\"\r\n\t\t\t\t:key=\"item.id ?? undefined\"\r\n\t\t\t\t@click.stop=\"selectItem(item)\"\r\n\t\t\t>\r\n\t\t\t\t<slot\r\n\t\t\t\t\tv-if=\"$slots.item\"\r\n\t\t\t\t\tname=\"item\"\r\n\t\t\t\t\t:item=\"item\"\r\n\t\t\t\t></slot>\r\n\r\n\t\t\t\t<template\r\n\t\t\t\t\tv-else\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ item.name }}\r\n\t\t\t\t</template>\r\n\t\t\t</TopPopupListItem>\r\n\r\n\t\t\t<TopPopupListItem\r\n\t\t\t\tv-if=\"!itemsForShow.length\"\r\n\t\t\t\ttype=\"regular\"\r\n\t\t\t>\r\n\t\t\t\tНет результатов\r\n\t\t\t</TopPopupListItem>\r\n\t\t</template>\r\n\t</TopPopup>\r\n</template>\r\n\r\n<style module>\r\n.top-selector2 {\r\n\twidth: 180px;\r\n\tmin-height: var(--top-forms-base-height);\r\n\tbox-sizing: border-box;\r\n\tposition: relative;\r\n\tdisplay: flex;\r\n\toverflow: hidden;\r\n\tpadding: var(--top-padding-1) var(--top-forms-padding);\r\n\tcolor: var(--top-forms-placeholder-color);\r\n\r\n\tborder-radius: var(--top-radius-2);\r\n\tborder: 1px solid var(--top-forms-border-color);\r\n\tbackground: var(--top-forms-background-color);\r\n}\r\n\r\n.top-selector2-multiselect {\r\n\twidth: unset;\r\n\tmin-width: 180px;\r\n\tpadding: var(--top-padding-1);\r\n}\r\n\r\n.top-selector2.top-active {\r\n\t--top-forms-border-color: var(--top-forms-border-color-hover);\r\n\t--top-forms-background-color: var(--top-forms-background-color-hover);\r\n}\r\n\r\n.top-selector2_activeItems {\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tgap: var(--top-padding-1);\r\n\tmax-width: 100%;\r\n}\r\n\r\n.top-selector2_activeName {\r\n\twhite-space: nowrap;\r\n}\r\n\r\n.top-changer-selector {\r\n\ttransform: translateX(-16px);\r\n}\r\n</style>\r\n","import type { ComponentCustomProps } from 'vue';\r\n\r\nimport EditArea from './editArea/editArea.vue';\r\nimport EditInput from './editInput/editInput.vue';\r\nimport RadioGroup from './radioGroup/radioGroup.vue';\r\nimport Selector2 from './selector2/selector2.vue';\r\nimport Menu from './menu/menu.vue';\r\n\r\nexport const TopEditArea = EditArea as typeof EditArea & ComponentCustomProps;\r\nexport const TopEditInput = EditInput as typeof EditInput & ComponentCustomProps;\r\nexport const TopRadioGroup = RadioGroup as typeof RadioGroup & ComponentCustomProps;\r\nexport const TopSelector2 = Selector2 as typeof Selector2 & ComponentCustomProps;\r\nexport const TopMenu = Menu as typeof Menu & ComponentCustomProps;\r\n"],"names":["props","__props","emit","__emit","isChanged","vue","localValue","cancelBtnText","submit","value","intermediateValue","elRef","model","_a","item","_c","_b","items","isLoading","_searchText","apiRequest","res","indexWithError","callAPIRequest","_nextOffset","loadAppend","searchText","minLength","popupRef","API","useAPI","localItems","itemAll","itemSelected","itemsForShow","searchStringInvertKeyboard","utils_keyboard","searchString","isSelected","selectItem","newModel","forms","getPopup","_d","nextIndex","deleteItemById","id","isOpened","onScrollContentList","e","el","TopEditArea","EditArea","TopEditInput","EditInput","TopRadioGroup","RadioGroup","TopSelector2","Selector2","TopMenu","menu"],"mappings":"6xBAQA,MAAAA,EAAAC,EAQAC,EAAAC,+CAMAC,EAAAC,EAAA,SAAA,IAAAC,EAAA,QAAAN,EAAA,YAAA,EAEAO,EAAAF,EAAA,SAAA,IACCL,EAAA,iBAAA,GAEAA,EAAA,mBAAA,CAAAI,EAAA,MAAAJ,EAAA,UAEAA,EAAA,UAAa,EAGdQ,EAAAC,GAAA,CACCP,EAAA,SAAAO,CAAA,EAEAH,EAAA,MAAAN,EAAA,YAAyB,2CAKxBE,EAAA,OAAA,EAEA,OAGDI,EAAA,MAAAN,EAAA,YAAyB,8CAIsB,y2EC3ChD,MAAAA,EAAAC,2DAKCS,EAAA,MAAAV,EAAA,UAAgC,CAAA,EAGjC,MAAAE,EAAAC,uCAGkD,ojCCRlDH,EAAAC,EAMAU,EAAAN,EAAA,IAAA,IAAA,EAEAA,EAAA,MAAAO,EAAA,IAAA,gBACCC,EAAAb,EAAA,cAAA,MAAAa,EAAA,KAAAC,GAAAA,EAAA,QAAAF,EAAA,SACCA,EAAA,QAAAG,GAAAC,EAAAhB,EAAA,cAAA,YAAAgB,EAAA,KAAA,YAAAD,EAAA,QAAA,uGAGuE,EAAA,CAAA,UAAA,EAAA,CAAA,gzCCbxE,MAAAE,EAAAZ,EAAA,IAAA,CAAA,CAAA,EAKAa,EAAAb,EAAA,IAAA,EAAA,EAEA,IAAAc,EAAA,0BAICC,EAAA,OAAA,MAAA,uBASA,GAAA,CAAAA,EAAA,sBAQCA,EAAA,QAAA,IAAA,4DAcD,GAJAF,EAAA,MAAA,GACAG,EAAA,MAAAD,EAAA,KAAA,EACAF,EAAA,MAAA,GAEAG,EAAA,OAAA,6EAKC,qEAID,GAAAC,IAAA,GAAA,CACC,QAAA,KAAA,YAAAA,CAAA,mBAAA,EAEA,mCAOM,cAOP,GAAA,CAAAF,EAAA,OAEAA,EAAA,OAAA,OAAA,EACAA,EAAA,OAAA,OAAAD,EAEA,MAAAE,EAAA,MAAAE,EAAA,EACAF,IAEAG,EAAAH,EAAA,WAEAJ,EAAA,MAAAI,EAAA,OAAkB,cAalB,GANA,CAAAD,GAGA,CAAAI,GAGAN,EAAA,MAAA,OAEAE,EAAA,OAAA,OAAAI,EACAJ,EAAA,OAAA,OAAAD,EAEA,MAAAE,EAAA,MAAAE,EAAA,EACAF,IAEAG,EAAAH,EAAA,WAEAJ,EAAA,MAAAA,EAAA,MAAA,OAAAI,EAAA,MAAA,EAA2C,4BA+B5C,MAAA,CAAO,MAAAJ,EACN,UAAAC,EACA,WAAAO,EACA,gCAnBAL,IAEAM,EAAA,OAAAC,0CAWA,CAOA,6uCCtIF,MAAA3B,EAAAC,+BAcAyB,EAAArB,EAAA,IAAA,EAAA,oBAIO,EAMPuB,EAAAvB,EAAA,IAAA,IAAA,eAMC,OAAAQ,EAAAe,EAAA,QAAA,YAAAf,EAAA,KAAuB,+CAKvBR,EAAA,wBACa,IAAA,CAEXO,EAAA,MAAAZ,EAAA,YAAA,CAAA,EAAA,CAAA,GAAA,KAAA,KAAA,EAAA,GACD,CAAA,UAAA,EAAA,CACkB,EAIpB,MAAA6B,EAAAC,EAAA9B,EAAA,WAAAA,EAAA,UAAAA,EAAA,QAAA,EAKA+B,EAAA1B,EAAA,SAAA,IAAA,CACC,MAAAY,EAAA,CAAA,0CAGCA,EAAA,KAAAe,CAAA,EAGDhC,EAAA,MAAA,QAAAc,GAAAG,EAAA,KAAA,CAAA,GAAAH,CAAA,CAAA,CAAA,GAEO,CAAA,+IAgBNF,EAAA,MAAA,KAAAqB,GAAAA,EAAA,KAAAnB,EAAA,EAAA,oBASFoB,EAAA7B,EAAA,SAAA,IAAA,+BAEC8B,EAAAC,EAAA,qBAAAC,CAAA,EAEA,IAAApB,EAAA,CAAA,0HAWGA,EAAA,QAAAH,CAAA,EAEAG,EAAA,KAAAH,CAAA,EAEF,CAAA,2BAKDd,EAAA,sBAAA0B,EAAA,QAAA,CAAAT,EAAA,QAAAA,EAAA,CAAA,EAAA,KAAA,YAAA,IAAAoB,oBAMM,KAAAX,EAAA,KACa,CAAA,EAInB1B,EAAA,cACCiB,EAAAA,EAAA,OAAAH,GAAA,CAAAwB,EAAAxB,CAAA,CAAA,IAGM,CAAA,EAQRyB,EAAA,MAAAzB,GAAA,SACC,GAAAd,EAAA,YAAA,CAGC,4BAAAsC,EAAAxB,CAAA,EACC,2CAKDF,EAAA,MAAA4B,EAEAC,EAAA,KAAA,MAAA,UACC5B,EAAA6B,EAAA,IAAA,MAAA7B,EAAA,qCAGCA,EAAA6B,EAAA,IAAA,MAAA7B,EAAA,kBACA8B,GAAA5B,GAAAC,EAAA0B,EAAA,IAAA,YAAA1B,EAAA,gBAAA,YAAAD,EAAA,cAAA,WAAA,MAAA4B,EAAA,QAGAjB,EAAA,QACCQ,EAAA,MAAA,SACCR,EAAA,MAAA,GACAG,EAAA,MAAA,MAAA,CAAA,GAEF,CAAA,CAEF,MAGAH,EAAA,QACCA,EAAA,MAAA,GACAG,EAAA,MAAA,MAAA,CAAA,GAGD,KAAA,UAAAf,CAAA,IAAA,KAAA,UAAAF,EAAA,KAAA,qBAIAI,EAAA0B,EAAA,IAAA,MAAA1B,EAAA,OACD,qCASC,MAAA4B,2CAAA,GAAAb,EAAA,MAAA,OACAnB,EAAA,MAAA,CAAA,GAAAmB,EAAA,MAAAa,CAAA,CAAA,EACD,EAODC,EAAA,MAAAC,GAAA,0BAEElC,EAAA,MAAAA,EAAA,MAAA,OAAAE,GAAAA,EAAA,KAAAgC,CAAA,yBAGCjC,EAAA6B,EAAA,IAAA,MAAA7B,EAAA,gBAA2B,CAAA,EAE7B,EAGDkC,EAAA1C,EAAA,IAAA,EAAA,EAEAL,EAAA,aACCK,EAAA,MAAA0C,EAAA,IAAA,CACCA,EAAA,yCAGA,CAAA,EAID1C,EAAA,MAAAqB,EAAA,IAAAG,EAAA,qBAAAH,EAAA,KAAA,CAAA,GAGD,MAAAsB,EAAAC,GAAA,CACC,MAAAC,EAAAD,EAAA,OAEAC,EAAA,WAAAA,EAAA,aAAAA,EAAA,cAAA,IACCrB,EAAA,WAAA,CACD,8gFC5NMsB,GAAAC,EACAC,GAAAC,EACAC,GAAAC,EACAC,GAAAC,GACAC,GAAAC,EAAA"}
@@ -1,10 +1,10 @@
1
1
  import Q from "../core/core.js";
2
2
  import { defineComponent as L, ref as V, computed as N, resolveDirective as x, openBlock as c, createElementBlock as v, normalizeClass as I, toDisplayString as $, createCommentVNode as T, createElementVNode as E, withDirectives as Y, createVNode as F, withKeys as O, withModifiers as S, createBlock as C, withCtx as w, createTextVNode as B, watch as k, toRef as q, mergeProps as X, mergeModels as D, useModel as j, Fragment as P, renderList as H, vModelRadio as ee, unref as M, renderSlot as te } from "vue";
3
- import { q as oe, T as z, _ as K, a as le, C as ae } from "../.chunks/forms-BZoPbSQt.es.js";
3
+ import { q as oe, T as z, _ as K, a as le, C as ae } from "../.chunks/forms-Cay_sybt.es.js";
4
4
  import { invertKeyboardLayout as se } from "../utils/keyboard.js";
5
5
  import { TopPopup as re, TopPopupWidgetInput as ne, TopPopupListItem as R } from "../popup/popup.js";
6
6
  import { debounce as ie } from "lodash";
7
- import { M as ue } from "../.chunks/menu-DDYYS64d.es.js";
7
+ import { M as ue } from "../.chunks/menu-B3Nf7_NC.es.js";
8
8
  const Z = ["../assets/formsExt.css"].map((s) => import.meta.resolve(s));
9
9
  Q.insertCSSLinkToPage(Z, !0);
10
10
  const de = { class: "top-editArea_footer" }, pe = /* @__PURE__ */ L({