@topvisor/ui 0.0.33 → 0.0.34

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 (35) hide show
  1. package/.chunks/{datepicker-48f2fa8d.es.js → datepicker-0b648b9f.es.js} +2 -2
  2. package/.chunks/{datepicker-48f2fa8d.es.js.map → datepicker-0b648b9f.es.js.map} +1 -1
  3. package/.chunks/{datepicker-f94ba423.amd.js → datepicker-0e9a0541.amd.js} +2 -2
  4. package/.chunks/{datepicker-f94ba423.amd.js.map → datepicker-0e9a0541.amd.js.map} +1 -1
  5. package/.chunks/{forms-cab135c7.amd.js → forms-02202302.amd.js} +3 -3
  6. package/.chunks/forms-02202302.amd.js.map +1 -0
  7. package/.chunks/{forms-6c397f5a.es.js → forms-eb00d0c1.es.js} +128 -117
  8. package/.chunks/forms-eb00d0c1.es.js.map +1 -0
  9. package/.chunks/{popup-04c385e0.es.js → popup-6f73b4b2.es.js} +3 -4
  10. package/.chunks/popup-6f73b4b2.es.js.map +1 -0
  11. package/.chunks/{popup-33f53a1c.amd.js → popup-e1f34511.amd.js} +3 -4
  12. package/.chunks/popup-e1f34511.amd.js.map +1 -0
  13. package/core/core.amd.js +1 -1
  14. package/core/core.js +1 -1
  15. package/core.css +1 -1
  16. package/forms/forms.amd.js +1 -1
  17. package/forms/forms.js +1 -1
  18. package/forms.css +1 -1
  19. package/formsExt/formsExt.amd.js +1 -1
  20. package/formsExt/formsExt.js +1 -1
  21. package/package.json +1 -1
  22. package/popup/popup.amd.js +1 -1
  23. package/popup/popup.js +1 -1
  24. package/popup/worker.amd.js +1 -1
  25. package/popup/worker.js +2 -2
  26. package/tabs/tabs.amd.js +1 -1
  27. package/tabs/tabs.js +1 -1
  28. package/utils/date.amd.js +1 -1
  29. package/utils/date.js +1 -1
  30. package/utils/device.amd.js +1 -1
  31. package/utils/device.js +1 -1
  32. package/.chunks/forms-6c397f5a.es.js.map +0 -1
  33. package/.chunks/forms-cab135c7.amd.js.map +0 -1
  34. package/.chunks/popup-04c385e0.es.js.map +0 -1
  35. package/.chunks/popup-33f53a1c.amd.js.map +0 -1
package/core/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "vue";
2
- import { C as a } from "../.chunks/forms-6c397f5a.es.js";
2
+ import { C as a } from "../.chunks/forms-eb00d0c1.es.js";
3
3
  export {
4
4
  a as default
5
5
  };
package/core.css CHANGED
@@ -1 +1 @@
1
- :root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-black-transparent-40: rgba(0, 0, 0, .4);--color-black-transparent-50: rgba(0, 0, 0, .5);--color-steel-50: rgba(251, 252, 253, 1);--color-steel-100: rgba(248, 250, 252, 1);--color-steel-150: rgba(241, 244, 249, 1);--color-steel-200: rgba(234, 239, 245, 1);--color-steel-250: rgba(228, 234, 241, 1);--color-steel-300: rgba(221, 228, 238, 1);--color-steel-350: rgba(215, 223, 233, 1);--color-steel-400: rgba(209, 218, 229, 1);--color-steel-450: rgba(204, 213, 225, 1);--color-steel-500: rgba(198, 208, 220, 1);--color-steel-550: rgba(193, 203, 215, 1);--color-gray-50: rgba(225, 229, 234, 1);--color-gray-100: rgba(210, 216, 223, 1);--color-gray-150: rgba(196, 203, 212, 1);--color-gray-200: rgba(182, 190, 201, 1);--color-gray-250: rgba(168, 177, 189, 1);--color-gray-300: rgba(154, 164, 177, 1);--color-gray-350: rgba(141, 151, 165, 1);--color-gray-400: rgba(128, 138, 153, 1);--color-gray-450: rgba(115, 125, 140, 1);--color-gray-500: rgba(104, 113, 125, 1);--color-gray-550: rgba(94, 101, 110, 1);--color-gray-600: rgba(83, 88, 95, 1);--color-gray-650: rgba(72, 76, 81, 1);--color-gray-700: rgba(61, 63, 67, 1);--color-gray-750: rgba(49, 51, 53, 1);--color-gray-800: rgba(37, 38, 39, 1);--color-gray-850: rgba(25, 25, 26, 1);--color-gray-900: rgba(13, 13, 13, 1);--color-blue-50: rgba(250, 252, 255, 1);--color-blue-100: rgba(230, 240, 255, 1);--color-blue-150: rgba(204, 224, 255, 1);--color-blue-200: rgba(179, 210, 255, 1);--color-blue-250: rgba(153, 194, 255, 1);--color-blue-300: rgba(128, 179, 255, 1);--color-blue-350: rgba(102, 163, 255, 1);--color-blue-400: rgba(77, 148, 255, 1);--color-blue-450: rgba(51, 132, 255, 1);--color-blue-500: rgba(25, 117, 255, 1);--color-blue-550: rgba(23, 105, 227, 1);--color-blue-600: rgba(20, 91, 198, 1);--color-blue-650: rgba(17, 78, 170, 1);--color-blue-700: rgba(14, 65, 142, 1);--color-blue-750: rgba(12, 52, 113, 1);--color-blue-800: rgba(9, 40, 85, 1);--color-blue-850: rgba(6, 26, 57, 1);--color-blue-900: rgba(3, 13, 28, 1);--color-orange-50: rgba(255, 253, 250, 1);--color-orange-100: rgba(255, 244, 230, 1);--color-orange-150: rgba(255, 234, 204, 1);--color-orange-200: rgba(255, 223, 178, 1);--color-orange-250: rgba(255, 212, 153, 1);--color-orange-300: rgba(255, 202, 128, 1);--color-orange-350: rgba(255, 191, 102, 1);--color-orange-400: rgba(255, 180, 77, 1);--color-orange-450: rgba(255, 170, 51, 1);--color-orange-500: rgba(255, 159, 25, 1);--color-orange-550: rgba(227, 141, 23, 1);--color-orange-600: rgba(198, 124, 20, 1);--color-orange-650: rgba(170, 106, 17, 1);--color-orange-700: rgba(142, 88, 14, 1);--color-orange-750: rgba(113, 71, 12, 1);--color-orange-800: rgba(85, 53, 9, 1);--color-orange-850: rgba(57, 35, 6, 1);--color-orange-900: rgba(28, 18, 3, 1);--color-mint-50: rgba(251, 254, 253, 1);--color-mint-100: rgba(228, 251, 245, 1);--color-mint-150: rgba(200, 246, 235, 1);--color-mint-200: rgba(173, 242, 226, 1);--color-mint-250: rgba(146, 237, 216, 1);--color-mint-300: rgba(118, 233, 206, 1);--color-mint-350: rgba(91, 228, 196, 1);--color-mint-400: rgba(64, 224, 187, 1);--color-mint-450: rgba(36, 219, 177, 1);--color-mint-500: rgba(9, 215, 167, 1);--color-mint-550: rgba(8, 191, 148, 1);--color-mint-600: rgba(7, 167, 130, 1);--color-mint-650: rgba(6, 143, 111, 1);--color-mint-700: rgba(5, 119, 93, 1);--color-mint-750: rgba(4, 96, 74, 1);--color-mint-800: rgba(3, 72, 56, 1);--color-mint-850: rgba(2, 48, 37, 1);--color-mint-900: rgba(1, 24, 19, 1);--color-green-50: rgba(251, 254, 252, 1);--color-green-100: rgba(229, 248, 237, 1);--color-green-150: rgba(203, 242, 220, 1);--color-green-200: rgba(177, 235, 202, 1);--color-green-250: rgba(151, 229, 184, 1);--color-green-300: rgba(126, 222, 167, 1);--color-green-350: rgba(100, 216, 149, 1);--color-green-400: rgba(74, 209, 131, 1);--color-green-450: rgba(48, 203, 114, 1);--color-green-500: rgba(22, 196, 96, 1);--color-green-550: rgba(20, 174, 85, 1);--color-green-600: rgba(17, 152, 75, 1);--color-green-650: rgba(15, 131, 64, 1);--color-green-700: rgba(12, 109, 53, 1);--color-green-750: rgba(10, 87, 43, 1);--color-green-800: rgba(7, 65, 32, 1);--color-green-850: rgba(5, 44, 21, 1);--color-green-900: rgba(2, 22, 11, 1);--color-salad-50: rgba(252, 254, 250, 1);--color-salad-100: rgba(242, 252, 232, 1);--color-salad-150: rgba(228, 248, 208, 1);--color-salad-200: rgba(215, 245, 185, 1);--color-salad-250: rgba(202, 242, 162, 1);--color-salad-300: rgba(188, 238, 138, 1);--color-salad-350: rgba(175, 235, 115, 1);--color-salad-400: rgba(162, 232, 92, 1);--color-salad-450: rgba(148, 228, 68, 1);--color-salad-500: rgba(135, 225, 45, 1);--color-salad-550: rgba(120, 200, 40, 1);--color-salad-600: rgba(105, 175, 35, 1);--color-salad-650: rgba(90, 150, 30, 1);--color-salad-700: rgba(75, 125, 25, 1);--color-salad-750: rgba(60, 100, 20, 1);--color-salad-800: rgba(45, 75, 15, 1);--color-salad-850: rgba(30, 50, 10, 1);--color-salad-900: rgba(15, 25, 5, 1);--color-red-50: rgba(255, 251, 250, 1);--color-red-100: rgba(253, 234, 232, 1);--color-red-150: rgba(250, 213, 209, 1);--color-red-200: rgba(248, 192, 187, 1);--color-red-250: rgba(246, 171, 164, 1);--color-red-300: rgba(243, 149, 141, 1);--color-red-350: rgba(241, 128, 118, 1);--color-red-400: rgba(239, 107, 96, 1);--color-red-450: rgba(236, 86, 73, 1);--color-red-500: rgba(234, 65, 50, 1);--color-red-550: rgba(208, 58, 44, 1);--color-red-600: rgba(182, 51, 39, 1);--color-red-650: rgba(156, 43, 33, 1);--color-red-700: rgba(130, 36, 28, 1);--color-red-750: rgba(104, 29, 22, 1);--color-red-800: rgba(78, 22, 17, 1);--color-red-850: rgba(52, 14, 11, 1);--color-red-900: rgba(26, 7, 6, 1);--color-violet-50: rgba(251, 250, 255, 1);--color-violet-100: rgba(240, 235, 255, 1);--color-violet-150: rgba(225, 215, 255, 1);--color-violet-200: rgba(210, 195, 255, 1);--color-violet-250: rgba(195, 175, 255, 1);--color-violet-300: rgba(181, 156, 255, 1);--color-violet-350: rgba(166, 136, 255, 1);--color-violet-400: rgba(151, 116, 255, 1);--color-violet-450: rgba(136, 96, 255, 1);--color-violet-500: rgba(121, 76, 255, 1);--color-violet-550: rgba(108, 68, 227, 1);--color-violet-600: rgba(94, 59, 198, 1);--color-violet-650: rgba(81, 51, 170, 1);--color-violet-700: rgba(67, 42, 142, 1);--color-violet-750: rgba(54, 34, 113, 1);--color-violet-800: rgba(40, 25, 85, 1);--color-violet-850: rgba(27, 17, 57, 1);--color-violet-900: rgba(13, 8, 28, 1);--color-pink-50: rgba(254, 250, 254, 1);--color-pink-100: rgba(252, 231, 251, 1);--color-pink-150: rgba(250, 207, 246, 1);--color-pink-200: rgba(247, 183, 242, 1);--color-pink-250: rgba(244, 159, 237, 1);--color-pink-300: rgba(242, 135, 233, 1);--color-pink-350: rgba(239, 111, 228, 1);--color-pink-400: rgba(236, 87, 224, 1);--color-pink-450: rgba(234, 63, 219, 1);--color-pink-500: rgba(231, 39, 215, 1);--color-pink-550: rgba(205, 35, 191, 1);--color-pink-600: rgba(180, 30, 167, 1);--color-pink-650: rgba(154, 26, 143, 1);--color-pink-700: rgba(128, 22, 119, 1);--color-pink-750: rgba(103, 17, 96, 1);--color-pink-800: rgba(77, 13, 72, 1);--color-pink-850: rgba(51, 9, 48, 1);--color-pink-900: rgba(26, 4, 24, 1);--color-yellow-50: rgba(255, 254, 250, 1);--color-yellow-100: rgba(253, 252, 231, 1);--color-yellow-150: rgba(251, 248, 208, 1);--color-yellow-200: rgba(248, 245, 184, 1);--color-yellow-250: rgba(246, 242, 160, 1);--color-yellow-300: rgba(244, 238, 137, 1);--color-yellow-350: rgba(242, 235, 113, 1);--color-yellow-400: rgba(239, 232, 89, 1);--color-yellow-450: rgba(237, 228, 66, 1);--color-yellow-500: rgba(235, 225, 42, 1);--color-yellow-550: rgba(209, 200, 37, 1);--color-yellow-600: rgba(183, 175, 33, 1);--color-yellow-650: rgba(157, 150, 28, 1);--color-yellow-700: rgba(131, 125, 23, 1);--color-yellow-750: rgba(104, 100, 19, 1);--color-yellow-800: rgba(78, 75, 14, 1);--color-yellow-850: rgba(52, 50, 9, 1);--color-yellow-900: rgba(26, 25, 5, 1);--color-top-3: #3198DD;--color-top-10: #21936C;--color-top-30: #1ABC9C;--color-top-50: #A6E0A3;--color-top-100: #C7D7D7;--color-top-10000: #FCC94A}:root{--top-padding-1: 4px;--top-padding-2: 8px;--top-padding-3: 12px;--top-padding-4: 16px;--top-padding-5: 20px;--top-padding-6: 24px;--top-padding-7: 28px;--top-padding-8: 32px;--top-padding-9: 36px;--top-padding-10: 40px;--top-padding-11: 44px;--top-padding-12: 48px;--top-gap-1: 4px;--top-gap-2: 8px;--top-gap-3: 12px;--top-gap-4: 16px;--top-gap-5: 20px;--top-gap-6: 24px;--top-gap-7: 28px;--top-gap-8: 32px;--top-gap-9: 36px;--top-gap-10: 40px;--top-gap-11: 44px;--top-gap-12: 48px;--top-radius-1: 4px;--top-radius-2: 8px;--top-radius-3: 12px;--top-radius-4: 16px;--top-radius-5: 20px;--top-radius-6: 24px;--top-radius-7: 28px;--top-radius-8: 32px;--top-radius-9: 36px;--top-radius-10: 40px;--top-radius-11: 44px;--top-radius-12: 48px}.top-comment{color:var(--color-gray-350);font-size:12px}:root{--top-formsCaption-offset: 16px}.top-formsCaptionWrapper{padding-top:20px}.top-formsCaption{pointer-events:none;width:calc(100% - var(--top-forms-padding) - var(--top-icon-both-width) - var(--top-forms_clear-width) - var(--top-select_arrow-width));padding:0 var(--top-forms-padding);color:var(--color-placeholder);white-space:nowrap;text-overflow:ellipsis;transform:translate(var(--top-icon-both-width));position:absolute;overflow:hidden;transition:.1s}.top-error~.top-formsCaption{transition:.1s .1s}.top-formsCaption *{pointer-events:auto}.top-formsCaptionWrapper>input:not([readonly]):focus~.top-formsCaption,.top-formsCaptionWrapper>input:not(:placeholder-shown)~.top-formsCaption,.top-formsCaptionWrapper>textarea:not(:placeholder-shown)~.top-formsCaption,.top-formsCaptionWrapper.top-select>.top-formsCaption,.top-formsCaptionWrapper.top-inputRange>.top-formsCaption,.top-formsCaptionWrapper-always>.top-formsCaption{width:100%;padding:0;color:var(--color-placeholder-active);font-size:11px;transform:translateY(calc(-1em - var(--top-formsCaption-offset)));transition:.1s}.ui-tooltip{pointer-events:none;box-shadow:0 6px 18px #0e152f21,0 -2px 6px #0e152f08;border-radius:8px;border:none;background:var(--content-background-color);width:max-content;padding:16px;margin:0 18px;font-size:13px}.ui-tooltip img{margin:12px 0 0}.ui-tooltip ul{margin-left:24px}button,input,textarea,select{border:1px solid var(--top-forms-border-color);color:var(--color-text);font-size:var(--top-font-size);font-family:inherit}::placeholder{color:var(--color-placeholder)}[contenteditable][placeholder]:empty:before{content:attr(placeholder);color:var(--color-text-secondary)}.top-forms-optionWrapper{cursor:pointer;padding:8px 0;color:var(--color-text);line-height:1.3;display:inline-flex;align-items:flex-start;gap:4px}.top-forms-option{cursor:pointer;padding:0;margin:3px;display:inline-flex;flex-shrink:0;appearance:none;-webkit-appearance:none}.top-forms-option:disabled{filter:none;opacity:1}.top-forms-focusable:focus-visible,.top-focus{outline:calc(var(--top-forms-border-width) * 2) solid var(--top-forms-option-color);outline-offset:2px;position:relative;z-index:1;transition:border-color .15s}.top-forms-focusable:hover,.top-forms-focusable:focus,.top-focus:hover,.top-focus:focus,.top-input:hover>.top-input_input,.top-select:hover>.top-select_select{--top-forms-border-color: var(--top-forms-border-color-hover);--top-forms-background-color: var(--top-forms-background-color-hover)}[contenteditable]:focus-visible,.top-selector-multiselect:focus-within{outline:2px solid var(--color-blue-100)}:root{--top-font-size: 14px;--top-forms-radius: 8px;--top-forms-border-width: 1px;--top-style_outline-color: transparent;--top-forms-base-height_s: 32px;--top-forms-base-height_l: 36px;--top-forms-base-height_xl: 40px;--top-forms-base-height: var(--top-forms-base-height_s);--top-forms-padding: 8px;--top-forms-padding_l: 12px;--top-forms-padding_xl: 16px;--top-forms-option-height: 24px;--top-forms-option-color: var(--color-primary);--top-forms-option-color-hover: var(--color-primary-2);--top-select_arrow-width: 0px;--top-forms_clear-width: 0px}.top-size_s{--top-forms-base-height: var(--top-forms-base-height_s)}.top-size_l{--top-forms-base-height: var(--top-forms-base-height_l)}.top-size_xl{--top-forms-base-height: var(--top-forms-base-height_xl)}.top-input_input,.top-textarea_textarea,.top-editArea_form,.top-select_select{box-sizing:border-box;border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);display:inline-flex;appearance:none;-webkit-appearance:none}.top-select_select{padding-right:calc(var(--top-forms-padding) + var(--top-forms_clear-width) + var(--top-select_arrow-width));padding-left:max(var(--top-forms-padding),var(--top-icon-both-width))}.top-select{position:relative}.top-select[data-top-icon]:before,.top-select[data-top-icon2]:after{position:absolute;z-index:3}.top-select[data-top-icon][data-top-icon2]:after{left:calc(var(--top-icon-width))}:root{--top-icon-size: 24px;--top-icon-width: 0px;--top-icon2-size: 24px;--top-icon2-width: 0px;--top-icon-both-width: 0px}[data-top-icon]{--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon-color: inherit}[data-top-icon2]{--top-icon2-width: calc(var(--top-icon2-size) + 8px);--top-icon2-color: inherit}[data-top-icon=""]{--top-icon-width: 0px}[data-top-icon2=""]{--top-icon2-width: 0px}[data-top-icon]:before,[data-top-icon2]:after{pointer-events:none;content:attr(data-top-icon);border-radius:var(--top-forms-radius);width:var(--top-icon-width);color:var(--top-icon-color);font-family:Topvisor-2;font-size:var(--top-icon-size);font-weight:400;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}[data-top-icon2]:after{content:attr(data-top-icon2);width:var(--top-icon2-width);color:var(--top-icon2-color);font-size:var(--top-icon2-size)}[data-top-icon],[data-top-icon2]{--top-icon-both-width: calc(var(--top-icon-width) + var(--top-icon2-width))}[data-top-icon=]:before{font-family:Topvisor}.top-as-a{cursor:pointer;color:var(--color-text-link)}.top-as-a:hover{text-decoration:underline}.top-ellipsis{max-height:100%;text-overflow:ellipsis;overflow:hidden;line-height:1.23;flex-grow:1}.top-ellipsis2,.top-ellipsis3{max-width:fit-content;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.top-ellipsis3{-webkit-line-clamp:3}.top-hidden{display:none!important}.top-unvisible{width:0;height:0;overflow:hidden;position:absolute}.top-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}:disabled:not(option):not(optgroup):not(.top-forms-option),:disabled~.top-formsCaption,.top-disabled[data-top-icon]:before,.top-disabled[data-top-icon2]:after{opacity:.5;filter:grayscale(100%)}.top-error,.top-error::placeholder,.top-error:before{--top-forms-border-color: var(--color-negative);border-color:var(--color-negative)}.top-error{--top-icon-color: var(--color-negative);color:var(--color-negative)}.top-error~.top-formsCaption{color:var(--color-negative)}.top-warning{--top-icon-color: var(--color-orange-500);color:var(--color-orange-500)}input.top-error,textarea.top-error,select.top-error,.top-editArea_form.top-error{animation:top-error .8s}@keyframes top-error{0%{outline-offset:10px;outline:3px solid transparent}50%{outline:3px solid var(--color-red-100);outline-offset:2px}to{outline:3px solid transparent;outline-offset:2px}}@media only screen and (min-width: 900px){.top-only-mobile{display:none!important}}@media only screen and (max-width: 900px){.top-only-pc{display:none!important}}html:not([lang=ru]) .top-only-ru,html:not([lang=en]) .top-only-en{display:none!important}html[data-is_admin="0"] .top-only-admin{display:none!important}.top-select_arrow{--top-select_arrow-color: var(--color-gray-600);--top-select_arrow-size: 12px;--top-select_arrow-width: 24px;background-image:url("data:image/svg+xml,%3Csvg width='16' height='9' viewBox='0 0 16 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.293 0.29269L8 6.5857L1.70704 0.29269C1.31679 -0.0975633 0.682937 -0.0975633 0.292687 0.29269C-0.0975624 0.682943 -0.0975624 1.31656 0.292687 1.70682L7.29294 8.70713C7.68343 9.09762 8.31657 9.09762 8.70706 8.70713L15.7073 1.70682C16.0976 1.31656 16.0976 0.682943 15.7073 0.29269C15.3171 -0.0975633 14.6832 -0.0975633 14.293 0.29269Z' fill='%23808A99'/%3E%3C/svg%3E");background-size:14px;background-position:calc(100% - var(--top-forms-padding)) 50%;background-repeat:no-repeat;padding-right:32px}.top-select_arrow~.top-cleaner{--top-select_arrow-width: 24px}
1
+ :root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-black-transparent-40: rgba(0, 0, 0, .4);--color-black-transparent-50: rgba(0, 0, 0, .5);--color-steel-50: rgba(251, 252, 253, 1);--color-steel-100: rgba(248, 250, 252, 1);--color-steel-150: rgba(241, 244, 249, 1);--color-steel-200: rgba(234, 239, 245, 1);--color-steel-250: rgba(228, 234, 241, 1);--color-steel-300: rgba(221, 228, 238, 1);--color-steel-350: rgba(215, 223, 233, 1);--color-steel-400: rgba(209, 218, 229, 1);--color-steel-450: rgba(204, 213, 225, 1);--color-steel-500: rgba(198, 208, 220, 1);--color-steel-550: rgba(193, 203, 215, 1);--color-gray-50: rgba(225, 229, 234, 1);--color-gray-100: rgba(210, 216, 223, 1);--color-gray-150: rgba(196, 203, 212, 1);--color-gray-200: rgba(182, 190, 201, 1);--color-gray-250: rgba(168, 177, 189, 1);--color-gray-300: rgba(154, 164, 177, 1);--color-gray-350: rgba(141, 151, 165, 1);--color-gray-400: rgba(128, 138, 153, 1);--color-gray-450: rgba(115, 125, 140, 1);--color-gray-500: rgba(104, 113, 125, 1);--color-gray-550: rgba(94, 101, 110, 1);--color-gray-600: rgba(83, 88, 95, 1);--color-gray-650: rgba(72, 76, 81, 1);--color-gray-700: rgba(61, 63, 67, 1);--color-gray-750: rgba(49, 51, 53, 1);--color-gray-800: rgba(37, 38, 39, 1);--color-gray-850: rgba(25, 25, 26, 1);--color-gray-900: rgba(13, 13, 13, 1);--color-blue-50: rgba(250, 252, 255, 1);--color-blue-100: rgba(230, 240, 255, 1);--color-blue-150: rgba(204, 224, 255, 1);--color-blue-200: rgba(179, 210, 255, 1);--color-blue-250: rgba(153, 194, 255, 1);--color-blue-300: rgba(128, 179, 255, 1);--color-blue-350: rgba(102, 163, 255, 1);--color-blue-400: rgba(77, 148, 255, 1);--color-blue-450: rgba(51, 132, 255, 1);--color-blue-500: rgba(25, 117, 255, 1);--color-blue-550: rgba(23, 105, 227, 1);--color-blue-600: rgba(20, 91, 198, 1);--color-blue-650: rgba(17, 78, 170, 1);--color-blue-700: rgba(14, 65, 142, 1);--color-blue-750: rgba(12, 52, 113, 1);--color-blue-800: rgba(9, 40, 85, 1);--color-blue-850: rgba(6, 26, 57, 1);--color-blue-900: rgba(3, 13, 28, 1);--color-orange-50: rgba(255, 253, 250, 1);--color-orange-100: rgba(255, 244, 230, 1);--color-orange-150: rgba(255, 234, 204, 1);--color-orange-200: rgba(255, 223, 178, 1);--color-orange-250: rgba(255, 212, 153, 1);--color-orange-300: rgba(255, 202, 128, 1);--color-orange-350: rgba(255, 191, 102, 1);--color-orange-400: rgba(255, 180, 77, 1);--color-orange-450: rgba(255, 170, 51, 1);--color-orange-500: rgba(255, 159, 25, 1);--color-orange-550: rgba(227, 141, 23, 1);--color-orange-600: rgba(198, 124, 20, 1);--color-orange-650: rgba(170, 106, 17, 1);--color-orange-700: rgba(142, 88, 14, 1);--color-orange-750: rgba(113, 71, 12, 1);--color-orange-800: rgba(85, 53, 9, 1);--color-orange-850: rgba(57, 35, 6, 1);--color-orange-900: rgba(28, 18, 3, 1);--color-mint-50: rgba(251, 254, 253, 1);--color-mint-100: rgba(228, 251, 245, 1);--color-mint-150: rgba(200, 246, 235, 1);--color-mint-200: rgba(173, 242, 226, 1);--color-mint-250: rgba(146, 237, 216, 1);--color-mint-300: rgba(118, 233, 206, 1);--color-mint-350: rgba(91, 228, 196, 1);--color-mint-400: rgba(64, 224, 187, 1);--color-mint-450: rgba(36, 219, 177, 1);--color-mint-500: rgba(9, 215, 167, 1);--color-mint-550: rgba(8, 191, 148, 1);--color-mint-600: rgba(7, 167, 130, 1);--color-mint-650: rgba(6, 143, 111, 1);--color-mint-700: rgba(5, 119, 93, 1);--color-mint-750: rgba(4, 96, 74, 1);--color-mint-800: rgba(3, 72, 56, 1);--color-mint-850: rgba(2, 48, 37, 1);--color-mint-900: rgba(1, 24, 19, 1);--color-green-50: rgba(251, 254, 252, 1);--color-green-100: rgba(229, 248, 237, 1);--color-green-150: rgba(203, 242, 220, 1);--color-green-200: rgba(177, 235, 202, 1);--color-green-250: rgba(151, 229, 184, 1);--color-green-300: rgba(126, 222, 167, 1);--color-green-350: rgba(100, 216, 149, 1);--color-green-400: rgba(74, 209, 131, 1);--color-green-450: rgba(48, 203, 114, 1);--color-green-500: rgba(22, 196, 96, 1);--color-green-550: rgba(20, 174, 85, 1);--color-green-600: rgba(17, 152, 75, 1);--color-green-650: rgba(15, 131, 64, 1);--color-green-700: rgba(12, 109, 53, 1);--color-green-750: rgba(10, 87, 43, 1);--color-green-800: rgba(7, 65, 32, 1);--color-green-850: rgba(5, 44, 21, 1);--color-green-900: rgba(2, 22, 11, 1);--color-salad-50: rgba(252, 254, 250, 1);--color-salad-100: rgba(242, 252, 232, 1);--color-salad-150: rgba(228, 248, 208, 1);--color-salad-200: rgba(215, 245, 185, 1);--color-salad-250: rgba(202, 242, 162, 1);--color-salad-300: rgba(188, 238, 138, 1);--color-salad-350: rgba(175, 235, 115, 1);--color-salad-400: rgba(162, 232, 92, 1);--color-salad-450: rgba(148, 228, 68, 1);--color-salad-500: rgba(135, 225, 45, 1);--color-salad-550: rgba(120, 200, 40, 1);--color-salad-600: rgba(105, 175, 35, 1);--color-salad-650: rgba(90, 150, 30, 1);--color-salad-700: rgba(75, 125, 25, 1);--color-salad-750: rgba(60, 100, 20, 1);--color-salad-800: rgba(45, 75, 15, 1);--color-salad-850: rgba(30, 50, 10, 1);--color-salad-900: rgba(15, 25, 5, 1);--color-red-50: rgba(255, 251, 250, 1);--color-red-100: rgba(253, 234, 232, 1);--color-red-150: rgba(250, 213, 209, 1);--color-red-200: rgba(248, 192, 187, 1);--color-red-250: rgba(246, 171, 164, 1);--color-red-300: rgba(243, 149, 141, 1);--color-red-350: rgba(241, 128, 118, 1);--color-red-400: rgba(239, 107, 96, 1);--color-red-450: rgba(236, 86, 73, 1);--color-red-500: rgba(234, 65, 50, 1);--color-red-550: rgba(208, 58, 44, 1);--color-red-600: rgba(182, 51, 39, 1);--color-red-650: rgba(156, 43, 33, 1);--color-red-700: rgba(130, 36, 28, 1);--color-red-750: rgba(104, 29, 22, 1);--color-red-800: rgba(78, 22, 17, 1);--color-red-850: rgba(52, 14, 11, 1);--color-red-900: rgba(26, 7, 6, 1);--color-violet-50: rgba(251, 250, 255, 1);--color-violet-100: rgba(240, 235, 255, 1);--color-violet-150: rgba(225, 215, 255, 1);--color-violet-200: rgba(210, 195, 255, 1);--color-violet-250: rgba(195, 175, 255, 1);--color-violet-300: rgba(181, 156, 255, 1);--color-violet-350: rgba(166, 136, 255, 1);--color-violet-400: rgba(151, 116, 255, 1);--color-violet-450: rgba(136, 96, 255, 1);--color-violet-500: rgba(121, 76, 255, 1);--color-violet-550: rgba(108, 68, 227, 1);--color-violet-600: rgba(94, 59, 198, 1);--color-violet-650: rgba(81, 51, 170, 1);--color-violet-700: rgba(67, 42, 142, 1);--color-violet-750: rgba(54, 34, 113, 1);--color-violet-800: rgba(40, 25, 85, 1);--color-violet-850: rgba(27, 17, 57, 1);--color-violet-900: rgba(13, 8, 28, 1);--color-pink-50: rgba(254, 250, 254, 1);--color-pink-100: rgba(252, 231, 251, 1);--color-pink-150: rgba(250, 207, 246, 1);--color-pink-200: rgba(247, 183, 242, 1);--color-pink-250: rgba(244, 159, 237, 1);--color-pink-300: rgba(242, 135, 233, 1);--color-pink-350: rgba(239, 111, 228, 1);--color-pink-400: rgba(236, 87, 224, 1);--color-pink-450: rgba(234, 63, 219, 1);--color-pink-500: rgba(231, 39, 215, 1);--color-pink-550: rgba(205, 35, 191, 1);--color-pink-600: rgba(180, 30, 167, 1);--color-pink-650: rgba(154, 26, 143, 1);--color-pink-700: rgba(128, 22, 119, 1);--color-pink-750: rgba(103, 17, 96, 1);--color-pink-800: rgba(77, 13, 72, 1);--color-pink-850: rgba(51, 9, 48, 1);--color-pink-900: rgba(26, 4, 24, 1);--color-yellow-50: rgba(255, 254, 250, 1);--color-yellow-100: rgba(253, 252, 231, 1);--color-yellow-150: rgba(251, 248, 208, 1);--color-yellow-200: rgba(248, 245, 184, 1);--color-yellow-250: rgba(246, 242, 160, 1);--color-yellow-300: rgba(244, 238, 137, 1);--color-yellow-350: rgba(242, 235, 113, 1);--color-yellow-400: rgba(239, 232, 89, 1);--color-yellow-450: rgba(237, 228, 66, 1);--color-yellow-500: rgba(235, 225, 42, 1);--color-yellow-550: rgba(209, 200, 37, 1);--color-yellow-600: rgba(183, 175, 33, 1);--color-yellow-650: rgba(157, 150, 28, 1);--color-yellow-700: rgba(131, 125, 23, 1);--color-yellow-750: rgba(104, 100, 19, 1);--color-yellow-800: rgba(78, 75, 14, 1);--color-yellow-850: rgba(52, 50, 9, 1);--color-yellow-900: rgba(26, 25, 5, 1);--color-top-3: #3198DD;--color-top-10: #21936C;--color-top-30: #1ABC9C;--color-top-50: #A6E0A3;--color-top-100: #C7D7D7;--color-top-10000: #FCC94A}:root{--top-padding-1: 4px;--top-padding-2: 8px;--top-padding-3: 12px;--top-padding-4: 16px;--top-padding-5: 20px;--top-padding-6: 24px;--top-padding-7: 28px;--top-padding-8: 32px;--top-padding-9: 36px;--top-padding-10: 40px;--top-padding-11: 44px;--top-padding-12: 48px;--top-gap-1: 4px;--top-gap-2: 8px;--top-gap-3: 12px;--top-gap-4: 16px;--top-gap-5: 20px;--top-gap-6: 24px;--top-gap-7: 28px;--top-gap-8: 32px;--top-gap-9: 36px;--top-gap-10: 40px;--top-gap-11: 44px;--top-gap-12: 48px;--top-radius-1: 4px;--top-radius-2: 8px;--top-radius-3: 12px;--top-radius-4: 16px;--top-radius-5: 20px;--top-radius-6: 24px;--top-radius-7: 28px;--top-radius-8: 32px;--top-radius-9: 36px;--top-radius-10: 40px;--top-radius-11: 44px;--top-radius-12: 48px}.top-comment{color:var(--color-gray-350);font-size:12px}:root{--top-formsCaption-offset: 16px}.top-formsCaptionWrapper{padding-top:20px}.top-formsCaption{pointer-events:none;width:calc(100% - var(--top-forms-padding) - var(--top-icon-both-width) - var(--top-forms_clear-width) - var(--top-select_arrow-width));padding:0 var(--top-forms-padding);color:var(--color-placeholder);white-space:nowrap;text-overflow:ellipsis;transform:translate(var(--top-icon-both-width));position:absolute;overflow:hidden;transition:.1s}.top-error~.top-formsCaption{transition:.1s .1s}.top-formsCaption *{pointer-events:auto}.top-formsCaptionWrapper>input:not([readonly]):focus~.top-formsCaption,.top-formsCaptionWrapper>input:not(:placeholder-shown)~.top-formsCaption,.top-formsCaptionWrapper>textarea:not(:placeholder-shown)~.top-formsCaption,.top-formsCaptionWrapper.top-select>.top-formsCaption,.top-formsCaptionWrapper.top-inputRange>.top-formsCaption,.top-formsCaptionWrapper-always>.top-formsCaption{width:100%;padding:0;color:var(--color-placeholder-active);font-size:11px;transform:translateY(calc(-1em - var(--top-formsCaption-offset)));transition:.1s}.ui-tooltip{pointer-events:none;box-shadow:0 6px 18px #0e152f21,0 -2px 6px #0e152f08;border-radius:8px;border:none;background:var(--content-background-color);width:max-content;padding:16px;margin:0 18px;font-size:13px}.ui-tooltip img{margin:12px 0 0}.ui-tooltip ul{margin-left:24px}button,input,textarea,select{border:1px solid var(--top-forms-border-color);color:var(--color-text);font-size:var(--top-font-size);font-family:inherit}::placeholder{color:var(--color-placeholder)}[contenteditable][placeholder]:empty:before{content:attr(placeholder);color:var(--color-text-secondary)}.top-forms-optionWrapper{cursor:pointer;padding:8px 0;color:var(--color-text);line-height:1.3;display:inline-flex;align-items:flex-start;gap:4px}.top-forms-option{cursor:pointer;padding:0;margin:3px;display:inline-flex;flex-shrink:0;appearance:none;-webkit-appearance:none}.top-forms-focusable:focus-visible,.top-focus{outline:calc(var(--top-forms-border-width) * 2) solid var(--top-forms-option-color);outline-offset:2px;position:relative;z-index:1;transition:border-color .15s}.top-forms-focusable:hover,.top-forms-focusable:focus,.top-focus:hover,.top-focus:focus,.top-input:hover>.top-input_input,.top-select:hover>.top-select_select{--top-forms-border-color: var(--top-forms-border-color-hover);--top-forms-background-color: var(--top-forms-background-color-hover)}[contenteditable]:focus-visible,.top-selector-multiselect:focus-within{outline:2px solid var(--color-blue-100)}:root{--top-font-size: 14px;--top-forms-radius: 8px;--top-forms-border-width: 1px;--top-style_outline-color: transparent;--top-forms-base-height_s: 32px;--top-forms-base-height_l: 36px;--top-forms-base-height_xl: 40px;--top-forms-base-height: var(--top-forms-base-height_s);--top-forms-padding: 8px;--top-forms-padding_l: 12px;--top-forms-padding_xl: 16px;--top-forms-option-height: 24px;--top-forms-option-color: var(--color-primary);--top-forms-option-color-hover: var(--color-primary-2);--top-select_arrow-width: 0px;--top-forms_clear-width: 0px}.top-size_s{--top-forms-base-height: var(--top-forms-base-height_s)}.top-size_l{--top-forms-base-height: var(--top-forms-base-height_l)}.top-size_xl{--top-forms-base-height: var(--top-forms-base-height_xl)}.top-input_input,.top-textarea_textarea,.top-editArea_form,.top-select_select{box-sizing:border-box;border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);display:inline-flex;appearance:none;-webkit-appearance:none}.top-select_select{padding-right:calc(var(--top-forms-padding) + var(--top-forms_clear-width) + var(--top-select_arrow-width));padding-left:max(var(--top-forms-padding),var(--top-icon-both-width))}.top-select{position:relative}.top-select[data-top-icon]:before,.top-select[data-top-icon2]:after{position:absolute;z-index:3}.top-select[data-top-icon][data-top-icon2]:after{left:calc(var(--top-icon-width))}.top-cleaner[data-top-icon]{--top-icon-size: 20px;--top-icon-width: 20px;--top-icon-color: var(--color-text-secondary);cursor:pointer;border-radius:50%;width:30px;height:24px;margin-left:-34px;transform:translate(calc(0px - var(--top-forms-border-width) - var(--top-select_arrow-width)));display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.top-cleaner[data-top-icon]:hover{--top-icon-color: var(--color-text-secondary-2)}:root{--top-icon-size: 24px;--top-icon-width: 0px;--top-icon2-size: 24px;--top-icon2-width: 0px;--top-icon-both-width: 0px}[data-top-icon]{--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon-color: inherit}[data-top-icon2]{--top-icon2-width: calc(var(--top-icon2-size) + 8px);--top-icon2-color: inherit}[data-top-icon=""]{--top-icon-width: 0px}[data-top-icon2=""]{--top-icon2-width: 0px}[data-top-icon]:before,[data-top-icon2]:after{pointer-events:none;content:attr(data-top-icon);border-radius:var(--top-forms-radius);width:var(--top-icon-width);color:var(--top-icon-color);font-family:Topvisor-2;font-size:var(--top-icon-size);font-weight:400;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}[data-top-icon2]:after{content:attr(data-top-icon2);width:var(--top-icon2-width);color:var(--top-icon2-color);font-size:var(--top-icon2-size)}[data-top-icon],[data-top-icon2]{--top-icon-both-width: calc(var(--top-icon-width) + var(--top-icon2-width))}[data-top-icon=]:before{font-family:Topvisor}.top-as-a{cursor:pointer;color:var(--color-text-link)}.top-as-a:hover{text-decoration:underline}.top-ellipsis{max-height:100%;text-overflow:ellipsis;overflow:hidden;line-height:1.23;flex-grow:1}.top-ellipsis2,.top-ellipsis3{max-width:fit-content;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.top-ellipsis3{-webkit-line-clamp:3}.top-hidden{display:none!important}.top-unvisible{width:0;height:0;overflow:hidden;position:absolute}.top-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}:disabled:not(option):not(optgroup):not(.top-forms-option),:disabled~.top-formsCaption,.top-disabled[data-top-icon]:before,.top-disabled[data-top-icon2]:after{opacity:.5;filter:grayscale(100%)}.top-error,.top-error::placeholder,.top-error:before{--top-forms-border-color: var(--color-negative);border-color:var(--color-negative)}.top-error{--top-icon-color: var(--color-negative);color:var(--color-negative)}.top-error~.top-formsCaption{color:var(--color-negative)}.top-warning{--top-icon-color: var(--color-orange-500);color:var(--color-orange-500)}input.top-error,textarea.top-error,select.top-error,.top-editArea_form.top-error{animation:top-error .8s}@keyframes top-error{0%{outline-offset:10px;outline:3px solid transparent}50%{outline:3px solid var(--color-red-100);outline-offset:2px}to{outline:3px solid transparent;outline-offset:2px}}@media only screen and (min-width: 900px){.top-only-mobile{display:none!important}}@media only screen and (max-width: 900px){.top-only-pc{display:none!important}}html:not([lang=ru]) .top-only-ru,html:not([lang=en]) .top-only-en{display:none!important}html[data-is_admin="0"] .top-only-admin{display:none!important}.top-select_arrow{--top-select_arrow-color: var(--color-gray-600);--top-select_arrow-size: 12px;--top-select_arrow-width: 24px;background-image:url("data:image/svg+xml,%3Csvg width='16' height='9' viewBox='0 0 16 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.293 0.29269L8 6.5857L1.70704 0.29269C1.31679 -0.0975633 0.682937 -0.0975633 0.292687 0.29269C-0.0975624 0.682943 -0.0975624 1.31656 0.292687 1.70682L7.29294 8.70713C7.68343 9.09762 8.31657 9.09762 8.70706 8.70713L15.7073 1.70682C16.0976 1.31656 16.0976 0.682943 15.7073 0.29269C15.3171 -0.0975633 14.6832 -0.0975633 14.293 0.29269Z' fill='%23808A99'/%3E%3C/svg%3E");background-size:14px;background-position:calc(100% - var(--top-forms-padding)) 50%;background-repeat:no-repeat;padding-right:32px}.top-select_arrow~.top-cleaner{--top-select_arrow-width: 24px}
@@ -1,2 +1,2 @@
1
- define(["exports","../.chunks/forms-cab135c7.amd","vue"],function(e,t,n){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;e.Button=t.Button,e.Checkbox=t.checkbox,e.ControlLabel=t.ControlLabel,e.Hint=t.Hint,e.Input=t.Input,e.InputDate=t.inputDate,e.Radio=t.radio,e.Select=t.select,e.Switcher=t.switcher,e.Textarea=t.Textarea,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
1
+ define(["exports","../.chunks/forms-02202302.amd","vue"],function(e,t,n){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;e.Button=t.Button,e.Checkbox=t.checkbox,e.ControlLabel=t.ControlLabel,e.Hint=t.Hint,e.Input=t.Input,e.InputDate=t.inputDate,e.Radio=t.radio,e.Select=t.select,e.Switcher=t.switcher,e.Textarea=t.Textarea,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=forms.amd.js.map
package/forms/forms.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as e, c as o, a as r, H as i, I as n, i as c, r as p, b, s as l, T as u } from "../.chunks/forms-6c397f5a.es.js";
1
+ import { B as e, c as o, a as r, H as i, I as n, i as c, r as p, b, s as l, T as u } from "../.chunks/forms-eb00d0c1.es.js";
2
2
  import "vue";
3
3
  export {
4
4
  e as Button,
package/forms.css CHANGED
@@ -1 +1 @@
1
- .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),.top-button[data-top-icon2]:not(:empty){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{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty{padding:0}.top-button.top-color_blue{--top-button-background-color: var(--color-blue-500)}.top-button.top-color_green{--top-button-background-color: var(--color-green-500)}.top-button.top-color_orange{--top-button-background-color: var(--color-orange-500)}.top-button.top-color_red{--top-button-background-color: var(--color-red-500)}.top-button.top-color_pink{--top-button-background-color: var(--color-pink-500)}.top-button.top-color_theme{--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);--top-button-color: var(--color-text-1);--top-button-background-color: transparent;--top-button-background-color-hover: var(--color-secondary-opacity);--top-button-background-color-active: var(--color-secondary-2-opacity);--top-button-background-color-selected: var(--color-secondary-2-opacity)}.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-steel-400);--top-button-color: var(--top-style_outline-color);--top-button-background-color: var(--content-background-color);--top-button-background-color-hover: var(--color-theme-100);--top-button-background-color-active: var(--color-theme-150);--top-button-background-color-selected: var(--color-theme-125);--top-forms-border-width: 1px}.top-button.top-style_outline.top-color_theme{--top-button-color: var(--color-text)}.top-button.top-style_outline.top-color_blue{--top-style_outline-color: var(--color-blue-500)}.top-button.top-style_outline.top-color_green{--top-style_outline-color: var(--color-green-500)}.top-button.top-style_outline.top-color_orange{--top-style_outline-color: var(--color-orange-500)}.top-button.top-style_outline.top-color_red{--top-style_outline-color: var(--color-red-500)}.top-button.top-style_outline.top-color_pink{--top-style_outline-color: var(--color-pink-500)}.top-button.top-style_soft{--top-shadow-darken: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none;--top-button-color: var(--color-text);--top-button-background-color: var(--color-secondary-opacity);--top-button-background-color-hover: var(--color-secondary-2-opacity);--top-button-background-color-active: var(--color-secondary-3-opacity);--top-button-background-color-selected: var(--color-secondary-3-opacity)}.top-button.top-style_soft.top-color_blue{--top-button-color: var(--color-blue-500)}.top-button.top-style_soft.top-color_orange{--top-button-color: var(--color-orange-500)}.top-button.top-style_soft.top-color_green{--top-button-color: var(--color-green-500)}.top-button.top-style_soft.top-color_red{--top-button-color: var(--color-red-500)}.top-button.top-style_soft.top-color_pink{--top-button-color: var(--color-pink-500)}.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-blue-450)}.top-button.top-style_transparent.top-color_green{--top-button-color: var(--color-green-450)}.top-button.top-style_transparent.top-color_orange{--top-button-color: var(--color-orange-450)}.top-button.top-style_transparent.top-color_red{--top-button-color: var(--color-red-450)}.top-button.top-style_transparent.top-color_pink{--top-button-color: var(--color-pink-450)}.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{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-3);font-size:.85em;line-height:var(--top-forms-option-height)}.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-option-color);background:var(--color-theme-50)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--top-forms-option-color);background:var(--top-forms-option-color)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--top-forms-option-color-hover);background:var(--top-forms-option-color-hover)}.top-checkbox_input:disabled{border-color:var(--color-line-1-opacity);background:var(--color-theme-50)}.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-negative)}.top-checkbox_input.top-error:hover{border-color:var(--color-negative-2)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-negative)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-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-text-4);line-height:1;z-index:1;pointer-events:all}.top-hint:hover{color:var(--color-text-3)}.top-input{--top-forms_clear-width: 0px;width:180px;position:relative;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-input_input{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{outline-color:var(--color-theme-75);outline-offset:0}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color: var(--color-text-secondary);--top-icon2-color: var(--color-text-secondary);position:absolute;z-index:3}.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{--top-icon-size: 20px;--top-icon-width: 20px;--top-icon-color: var(--color-text-3);cursor:pointer;border-radius:50%;width:24px;height:24px;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:hover{--top-icon-color: var(--color-text-2)}.top-input_input{width:50%;flex-grow:1}.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}: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(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radio_input:hover{border-color:var(--top-forms-option-color);background:var(--color-theme-50)}.top-radio_input:checked{border-color:var(--top-forms-option-color);border-width:5px}.top-radio_input:checked:hover{border-color:var(--top-forms-option-color-hover)}.top-radio_input:disabled{border-color:var(--color-line-1-opacity);background:var(--color-theme-50)}.top-radio_input:checked:disabled{border-color:var(--color-theme-400)}.top-radio_input.top-error{border-color:var(--color-negative)}.top-radio_input.top-error:hover{border-color:var(--color-negative-2)}.top-checkboxSwitcher{cursor:pointer;display:inline-flex;gap:4px}.top-checkboxSwitcher_input{border-radius:9px;border:none;background:var(--color-theme-100);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-theme-150)}.top-checkboxSwitcher_input:checked{background:var(--top-forms-option-color)}.top-checkboxSwitcher_input:checked:hover{background:var(--top-forms-option-color-hover)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input:disabled{background:var(--color-theme-400)}.top-checkboxSwitcher_input.top-error{background:var(--color-negative)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-negative-2)}.top-textarea{width:180px;display:inline-flex;align-items:center;position:relative}.top-textarea_textarea{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{outline-color:var(--color-theme-75);outline-offset:0px}.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(--c838a038);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{--top-icon-color: var(--color-text-3);--top-icon2-color: var(--color-text-2);height:auto;width:180px;min-height:var(--top-forms-base-height);max-width:100%;vertical-align:middle;display:inline-flex;align-items:center;cursor:pointer}.top-select-error{--top-icon-color: var(--color-negative);--top-icon2-color: var(--color-negative)}.top-select_select{background-color:var(--top-forms-background-color);padding-left:var(--top-forms-padding);text-indent:clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)));width:100%;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select_select:focus{outline-color:var(--color-theme-75);outline-offset:0px}.top-select_select:disabled{background:var(--color-theme-50)}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option{background:var(--content-background-color);color:var(--color-text-1)}@-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-select_changer{border-radius:100%;width:0;transform:translate(-44px);color:var(--color-text-secondary-2);font-size:16px;line-height:1;display:none;z-index:2;order:4}.top-select_changer:hover{color:var(--color-primary)}.top-select_changer:after{content:"";background-color:var(--top-forms-background-color);font-family:Topvisor-2}.top-select:hover>.top-select_changer{display:block}}
1
+ .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),.top-button[data-top-icon2]:not(:empty){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{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty{padding:0}.top-button.top-color_blue{--top-button-background-color: var(--color-blue-500)}.top-button.top-color_green{--top-button-background-color: var(--color-green-500)}.top-button.top-color_orange{--top-button-background-color: var(--color-orange-500)}.top-button.top-color_red{--top-button-background-color: var(--color-red-500)}.top-button.top-color_pink{--top-button-background-color: var(--color-pink-500)}.top-button.top-color_theme{--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);--top-button-color: var(--color-text-1);--top-button-background-color: transparent;--top-button-background-color-hover: var(--color-secondary-opacity);--top-button-background-color-active: var(--color-secondary-2-opacity);--top-button-background-color-selected: var(--color-secondary-2-opacity)}.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-steel-400);--top-button-color: var(--top-style_outline-color);--top-button-background-color: var(--content-background-color);--top-button-background-color-hover: var(--color-theme-100);--top-button-background-color-active: var(--color-theme-150);--top-button-background-color-selected: var(--color-theme-125);--top-forms-border-width: 1px}.top-button.top-style_outline.top-color_theme{--top-button-color: var(--color-text)}.top-button.top-style_outline.top-color_blue{--top-style_outline-color: var(--color-blue-500)}.top-button.top-style_outline.top-color_green{--top-style_outline-color: var(--color-green-500)}.top-button.top-style_outline.top-color_orange{--top-style_outline-color: var(--color-orange-500)}.top-button.top-style_outline.top-color_red{--top-style_outline-color: var(--color-red-500)}.top-button.top-style_outline.top-color_pink{--top-style_outline-color: var(--color-pink-500)}.top-button.top-style_soft{--top-shadow-darken: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none;--top-button-color: var(--color-text);--top-button-background-color: var(--color-secondary-opacity);--top-button-background-color-hover: var(--color-secondary-2-opacity);--top-button-background-color-active: var(--color-secondary-3-opacity);--top-button-background-color-selected: var(--color-secondary-3-opacity)}.top-button.top-style_soft.top-color_blue{--top-button-color: var(--color-blue-500)}.top-button.top-style_soft.top-color_orange{--top-button-color: var(--color-orange-500)}.top-button.top-style_soft.top-color_green{--top-button-color: var(--color-green-500)}.top-button.top-style_soft.top-color_red{--top-button-color: var(--color-red-500)}.top-button.top-style_soft.top-color_pink{--top-button-color: var(--color-pink-500)}.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-blue-450)}.top-button.top-style_transparent.top-color_green{--top-button-color: var(--color-green-450)}.top-button.top-style_transparent.top-color_orange{--top-button-color: var(--color-orange-450)}.top-button.top-style_transparent.top-color_red{--top-button-color: var(--color-red-450)}.top-button.top-style_transparent.top-color_pink{--top-button-color: var(--color-pink-450)}.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{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-3);font-size:.85em;line-height:var(--top-forms-option-height)}.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-option-color);background:var(--color-theme-50)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--top-forms-option-color);background:var(--top-forms-option-color)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--top-forms-option-color-hover);background:var(--top-forms-option-color-hover)}.top-checkbox_input:disabled{border-color:var(--color-line-1-opacity);background:var(--color-theme-50)}.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-negative)}.top-checkbox_input.top-error:hover{border-color:var(--color-negative-2)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-negative)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-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-text-4);line-height:1;z-index:1;pointer-events:all}.top-hint:hover{color:var(--color-text-3)}.top-input{--top-forms_clear-width: 0px;width:180px;position:relative;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-input_input{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{outline-color:var(--color-theme-75);outline-offset:0}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color: var(--color-text-secondary);--top-icon2-color: var(--color-text-secondary);position:absolute;z-index:3}.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{--top-icon-size: 20px;--top-icon-width: 20px;--top-icon-color: var(--color-text-3);cursor:pointer;border-radius:50%;width:24px;height:24px;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:hover{--top-icon-color: var(--color-text-2)}.top-input_input{width:50%;flex-grow:1}.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}: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(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radio_input:hover{border-color:var(--top-forms-option-color);background:var(--color-theme-50)}.top-radio_input:checked{border-color:var(--top-forms-option-color);border-width:5px}.top-radio_input:checked:hover{border-color:var(--top-forms-option-color-hover)}.top-radio_input:disabled{border-color:var(--color-line-1-opacity);background:var(--color-theme-50)}.top-radio_input:checked:disabled{border-color:var(--color-theme-400)}.top-radio_input.top-error{border-color:var(--color-negative)}.top-radio_input.top-error:hover{border-color:var(--color-negative-2)}.top-checkboxSwitcher{cursor:pointer;display:inline-flex;gap:4px}.top-checkboxSwitcher_input{border-radius:9px;border:none;background:var(--color-theme-100);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-theme-150)}.top-checkboxSwitcher_input:checked{background:var(--top-forms-option-color)}.top-checkboxSwitcher_input:checked:hover{background:var(--top-forms-option-color-hover)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input:disabled{background:var(--color-theme-400)}.top-checkboxSwitcher_input.top-error{background:var(--color-negative)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-negative-2)}.top-textarea{width:180px;display:inline-flex;align-items:center;position:relative}.top-textarea_textarea{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{outline-color:var(--color-theme-75);outline-offset:0px}.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(--c838a038);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{--top-icon-color: var(--color-text-3);--top-icon2-color: var(--color-text-2);align-items:center;width:180px;max-width:100%;vertical-align:middle;display:inline-flex}.top-select-error{--top-icon-color: var(--color-negative);--top-icon2-color: var(--color-negative)}.top-select_select{background-color:var(--top-forms-background-color);padding-left:var(--top-forms-padding);text-indent:clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)));width:100%;height:var(--top-forms-base-height);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select_select:focus{outline-color:var(--color-theme-75);outline-offset:0}.top-select_select:disabled{background:var(--color-theme-50)}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option{background:var(--content-background-color);color:var(--color-text-1)}@-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-secondary-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,3 +1,3 @@
1
- define(["exports","vue","../.chunks/forms-cab135c7.amd"],function(m,e,d){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;var f=document.createElement("style");f.textContent=`.top-editArea{display:flex;flex-direction:column;gap:6px}.top-editArea_title{font-size:12px}.top-editArea_form{background:var(--top-forms-background-color);outline-color:var(--color-theme-75);outline-offset:0;display:flex;flex-direction:column}.top-editArea_form:hover{background:var(--top-forms-background-color-hover)}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{border:none;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;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{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-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}
1
+ define(["exports","vue","../.chunks/forms-02202302.amd"],function(m,e,d){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;var f=document.createElement("style");f.textContent=`.top-editArea{display:flex;flex-direction:column;gap:6px}.top-editArea_title{font-size:12px}.top-editArea_form{background:var(--top-forms-background-color);outline-color:var(--color-theme-75);outline-offset:0;display:flex;flex-direction:column}.top-editArea_form:hover{background:var(--top-forms-background-color-hover)}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{border:none;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;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{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-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}
2
2
  `,document.head.appendChild(f);const y={key:0,class:"top-editArea_title"},b={class:"top-editArea_footer"},h=e.defineComponent({__name:"editArea",props:{modelValue:{},title:{},cancelText:{default:"Отмена"},submitText:{default:"Отправить"},attachToKeyboard:{type:Boolean},name:{},placeholder:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["update:modelValue","cancel"],setup(u,{emit:c}){const l=u,o=e.ref(""),a=e.ref(l.modelValue);e.watch(e.toRef(l,"modelValue"),()=>{a.value=l.modelValue});const n=e.computed(()=>a.value!==l.modelValue),i=t=>{c("update:modelValue",t)},p=()=>{c("cancel"),a.value=l.modelValue};return(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":t.attachToKeyboard})},[t.title?(e.openBlock(),e.createElementBlock("div",y,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":t.isError,"top-focus":o.value=="focus"})},[e.createVNode(d.Textarea,{modelValue:a.value,"onUpdate:modelValue":r[0]||(r[0]=s=>a.value=s),name:t.name,placeholder:t.placeholder,rows:t.rows,minHeight:t.minHeight,expandable:t.expandable,disabled:t.disabled,readonly:t.readonly,isError:t.isError,hint:t.hint,class:"top-editArea_element",onFocus:r[1]||(r[1]=s=>o.value="focus"),onBlur:r[2]||(r[2]=s=>o.value=""),onKeyup:[e.withKeys(p,["esc"]),r[3]||(r[3]=e.withKeys(e.withModifiers(s=>i(a.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint","onKeyup"]),e.createElementVNode("div",b,[n.value&&(!t.attachToKeyboard||t.modelValue)?(e.openBlock(),e.createBlock(d.Button,{key:0,class:"top-editArea_button",color:"theme",icon:t.attachToKeyboard?"":"",onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.attachToKeyboard?"":t.cancelText),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0),e.createVNode(d.Button,{class:"top-editArea_button",icon:t.attachToKeyboard?"":"",onClick:r[4]||(r[4]=s=>i(a.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.attachToKeyboard?"":t.submitText),1)]),_:1},8,["icon"])])],2)],2))}}),A={$style:{"top-editArea":"top-editArea","top-editArea_title":"top-editArea_title","top-editArea_form":"top-editArea_form","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"}},g=d._export_sfc(h,[["__cssModules",A]]),V={class:"top-editInput"},k=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(u,{emit:c}){const l=u,o=e.ref(l.modelValue);e.watch(e.toRef(l.modelValue),()=>{o.value=l.modelValue});const a=()=>{c("update:modelValue",o.value)};return(n,i)=>(e.openBlock(),e.createElementBlock("div",V,[e.createVNode(d.Input,e.mergeProps(n.input,{onKeydownCapture:i[0]||(i[0]=e.withKeys(e.withModifiers(p=>o.value=n.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(a,["stop"]),["enter"]),modelValue:o.value,"onUpdate:modelValue":i[1]||(i[1]=p=>o.value=p)}),null,16,["onKeydown","modelValue"]),o.value!==n.modelValue?(e.openBlock(),e.createBlock(d.Button,e.mergeProps({key:0,icon:"",styling:"soft"},n.button,{onClick:a}),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16)):e.createCommentVNode("",!0)]))}}),w={$style:{"top-editInput":"top-editInput","top-input":"top-input"}},K=d._export_sfc(k,[["__cssModules",w]]);m.EditArea=g,m.EditInput=K,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
3
3
  //# sourceMappingURL=formsExt.amd.js.map
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as B, ref as y, watch as k, toRef as C, computed as I, openBlock as u, createElementBlock as V, normalizeClass as T, toDisplayString as c, createCommentVNode as v, createElementVNode as K, createVNode as b, withKeys as p, withModifiers as f, createBlock as E, withCtx as A, createTextVNode as $, mergeProps as w, renderSlot as M } from "vue";
2
- import { T as H, B as h, _ as g, I as N } from "../.chunks/forms-6c397f5a.es.js";
2
+ import { T as H, B as h, _ as g, I as N } from "../.chunks/forms-eb00d0c1.es.js";
3
3
  const _ = {
4
4
  key: 0,
5
5
  class: "top-editArea_title"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "0.0.33",
4
+ "version": "0.0.34",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",
@@ -1,3 +1,3 @@
1
- define(["exports","vue","./worker.amd","../.chunks/forms-cab135c7.amd","../utils/dom.amd"],function(d,e,i,C,P){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;var m=document.createElement("style");m.textContent=`h3[data-top-popup],div[data-top-popup],i[data-top-popup]:not(.btn):not(.g_btn),b[data-top-popup]:not(.btn):not(.g_btn){cursor:pointer;-webkit-user-select:none;user-select:none;font-style:normal;text-decoration:none;display:inline-flex;align-items:center}[data-top-popup][data-top-popup-disabled]{pointer-events:none;cursor:auto!important}i[contenteditable]{cursor:text!important}
1
+ define(["exports","vue","./worker.amd","../.chunks/forms-02202302.amd","../utils/dom.amd"],function(d,e,i,C,P){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;var m=document.createElement("style");m.textContent=`h3[data-top-popup],div[data-top-popup],i[data-top-popup]:not(.btn):not(.g_btn),b[data-top-popup]:not(.btn):not(.g_btn){cursor:pointer;-webkit-user-select:none;user-select:none;font-style:normal;text-decoration:none;display:inline-flex;align-items:center}[data-top-popup][data-top-popup-disabled]{pointer-events:none;cursor:auto!important}i[contenteditable]{cursor:text!important}
2
2
  `,document.head.appendChild(m);const u=e.defineComponent({__name:"opener",props:{id:{},pos:{default:"3"},notch:{type:Boolean,default:!0},openByHover:{type:Boolean},posBy:{default:"fixed"}},setup(a){const t=a,n=t.id||Math.random()+"";let l;function s(p){setTimeout(()=>{l=p.nextElementSibling,l&&c(l)})}e.onUpdated(()=>{l&&c(l)});function c(p){p.dataset.topPopup="vue-"+n,p.dataset.topPopupId=n,p.dataset.topPopupP=t.pos,p.dataset.topPopupPosBy=t.posBy,p.dataset.topPopupNotch=t.notch?"true":"",p.dataset.topPopupOpenByHover=t.openByHover?"true":""}return(p,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("template",{ref:s}),e.renderSlot(p.$slots,"default")],64))}}),$="",y={key:0,class:"top-popup_header"},f={key:1,class:"top-popup_content"},B={key:2,class:"top-popup_content"},k={key:3,class:"top-popup_footer"},_=e.defineComponent({__name:"popup",props:{id:{default:""},class:{},pos:{default:"3"},notch:{type:Boolean,default:!0},openByHover:{type:Boolean},posBy:{default:"fixed"}},emits:["open","close"],setup(a,{emit:t}){const n=a,l=n.id||Math.random()+"",s=e.ref(null),r={onOpen:async o=>{o.elPopupInner.innerText="",s.value=o.elPopupInner,r.opened=!0,r.popup=o,t("open")},onClose:o=>{s.value=null,r.opened=!1,r.popup=null,t("close")},classRef:e.toRef(n,"class"),opened:!1,popup:null};return i.regVueComponent(l,r),e.onUnmounted(()=>{i.unregVueComponent(l)}),(o,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[o.$slots.opener?(e.openBlock(),e.createBlock(u,{key:0,id:e.unref(l),pos:o.pos,posBy:o.posBy,notch:o.notch,openByHover:o.openByHover},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),_:3},8,["id","pos","posBy","notch","openByHover"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(e.Teleport,{key:1,to:s.value},[o.$slots.header?(e.openBlock(),e.createElementBlock("div",y,[e.renderSlot(o.$slots,"header")])):e.createCommentVNode("",!0),o.$slots.content?(e.openBlock(),e.createElementBlock("div",f,[e.renderSlot(o.$slots,"content")])):e.createCommentVNode("",!0),o.$slots.contentList?(e.openBlock(),e.createElementBlock("ul",B,[e.renderSlot(o.$slots,"contentList")])):e.createCommentVNode("",!0),o.$slots.footer?(e.openBlock(),e.createElementBlock("div",k,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],8,["to"])):e.createCommentVNode("",!0)],64))}}),h=e.defineComponent({inheritAttrs:!1,__name:"listItem",props:{type:{default:"simple"},closeByClick:{type:Boolean,default:!0}},setup(a){const t=a;return(n,l)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass({"top-popup_listDelimiter":n.type==="delimiter","top-popup_listTitle":n.type==="title"})},[t.type==="simple"||t.type==="link"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type==="link"?"a":"i"),e.mergeProps({key:0,class:{"top-popup_item":!0,"top-popup_item-a":t.type==="simple",a:!0,"top-popup-noCloser":!n.closeByClick}},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16,["class"])):e.createCommentVNode("",!0),t.type==="title"||t.type==="control"?e.renderSlot(n.$slots,"default",{key:1}):e.createCommentVNode("",!0)],2))}});d.Popup=_,d.PopupListItem=h,d.PopupOpener=u,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
3
3
  //# sourceMappingURL=popup.amd.js.map
package/popup/popup.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as m, onUpdated as h, openBlock as n, createElementBlock as u, Fragment as B, createElementVNode as v, renderSlot as r, ref as k, toRef as $, onUnmounted as P, createBlock as y, unref as C, withCtx as _, createCommentVNode as l, Teleport as H, normalizeClass as g, resolveDynamicComponent as I, mergeProps as T } from "vue";
2
2
  import f from "./worker.js";
3
- import "../.chunks/forms-6c397f5a.es.js";
3
+ import "../.chunks/forms-eb00d0c1.es.js";
4
4
  import "../utils/dom.js";
5
5
  const V = /* @__PURE__ */ m({
6
6
  __name: "opener",
@@ -1,2 +1,2 @@
1
- define(["require","../.chunks/forms-cab135c7.amd","../utils/dom.amd","vue"],function(require,forms,utils_dom,vue){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;class WorkerEvents{static init(){document.addEventListener("mouseover",t=>{var o;(o=t.target.dataset)!=null&&o.topPopupOpenByHover&&t.target.click()}),document.addEventListener("scroll",()=>{forms.Core.isMobile||Worker$1.getAll().forEach(t=>Worker$1.close(t))}),forms.Events.addOnReize(t=>{forms.Core.state.isMobile&&t.topEvent.widthDiff&&Worker$1.getAll().forEach(o=>Worker$1.close(o))}),document.addEventListener("click",this.onclick)}static async onclick(t){var a,r;let o;switch(!0){case!!((a=t.target.dataset)!=null&&a.topPopup):o=t.target;break;case!!((r=t.target.parentElement)!=null&&r.dataset.topPopup):o=t.target.parentElement;break}o&&(o.dataset.topPopupDisabled||o.dataset.topPopupOpened||(t.preventDefault(),await Worker$1.openByOpener(o)))}}let decoratorBeforeOpen,decoratorAfterOpen,decoratorIsIgnoreOuterClick,i18n={Close:"Close"};class Worker{static noClose=!1;static vueConnectors=new Map;static onInitApp(e){decoratorBeforeOpen=e==null?void 0:e.decoratorBeforeOpen,decoratorAfterOpen=e==null?void 0:e.decoratorAfterOpen,decoratorIsIgnoreOuterClick=e==null?void 0:e.decoratorIsIgnoreOuterClick,i18n=e==null?void 0:e.i18n}static getPopup(e){return utils_dom.storage(e,"Popup")}static getAll(){return utils_dom.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(e){const t={};return t.popup=e.dataset.topPopup,e.dataset.topPopupP&&(t.p=parseInt(e.dataset.topPopupP)),e.dataset.topPopupNotch&&(t.notch=e.dataset.topPopupNotch),e.dataset.topPopupClass&&(t.class=e.dataset.topPopupClass),e.dataset.topPopupPosBy&&(t.posBy=e.dataset.topPopupPosBy),e.dataset.topPopupFront&&(t.frontSelector=e.dataset.topPopupFront),e.dataset.topPopupInvertX&&(t.invertX=e.dataset.topPopupInvertX),e.dataset.topPopupOpenByHover&&(t.openByHover=e.dataset.topPopupOpenByHover),e.dataset.topPopupUseOriginal&&(t.useOriginal=e.dataset.topPopupUseOriginal),await Worker.open(e,t)}static async open(elOpener,options){elOpener.dataset.topPopupOpened="opened";const{default:Popup}=await new Promise((e,t)=>require(["../.chunks/popup-33f53a1c.amd"],e,t));if(typeof jQuery=="function"){const $elOpener=jQuery(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,options.i18n=i18n,await new Popup(elOpener,options)}static close(e){const t=Worker.getPopup(e);t&&t.close()}static recalcPosition(e){const t=Worker.getPopup(e);t&&(t.recalcPosition(),HelperCommon.genHasScroll($(t.elPopupBody)))}static scrollToActive(e){if(!utils_dom.querySelectorVisible(e,"ul.top-popup_content > li > .top-active"))return;const o=e.querySelector("ul.top-popup_content"),a=utils_dom.querySelectorAllVisible(e,"ul.top-popup_content > li");e.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>e.classList.remove("top-popup-wrapper-no_animate"),100);let r=100;for(const s of a){if(s.querySelector(":scope > .top-active"))break;r+=s.offsetHeight}const p=o.offsetHeight;r>p?o.scrollTop=r-p:o.scrollTop=0}static decoratorBeforeOpen(e){decoratorBeforeOpen&&decoratorBeforeOpen(e)}static decoratorAfterOpen(e){decoratorAfterOpen&&decoratorAfterOpen(e)}static decoratorIsIgnoreOuterClick(e){return decoratorIsIgnoreOuterClick?decoratorIsIgnoreOuterClick(e):!1}static regVueComponent(e,t){if(Worker.vueConnectors.get(e))throw"Vue component Popup use duplicated id: "+e;Worker.vueConnectors.set(e,t)}static unregVueComponent(e){Worker.vueConnectors.delete(e)}}WorkerEvents.init(Worker,forms.Core);const Worker$1=Worker;return Worker$1});
1
+ define(["require","../.chunks/forms-02202302.amd","../utils/dom.amd","vue"],function(require,forms,utils_dom,vue){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;class WorkerEvents{static init(){document.addEventListener("mouseover",t=>{var o;(o=t.target.dataset)!=null&&o.topPopupOpenByHover&&t.target.click()}),document.addEventListener("scroll",()=>{forms.Core.isMobile||Worker$1.getAll().forEach(t=>Worker$1.close(t))}),forms.Events.addOnReize(t=>{forms.Core.state.isMobile&&t.topEvent.widthDiff&&Worker$1.getAll().forEach(o=>Worker$1.close(o))}),document.addEventListener("click",this.onclick)}static async onclick(t){var a,r;let o;switch(!0){case!!((a=t.target.dataset)!=null&&a.topPopup):o=t.target;break;case!!((r=t.target.parentElement)!=null&&r.dataset.topPopup):o=t.target.parentElement;break}o&&(o.dataset.topPopupDisabled||o.dataset.topPopupOpened||(t.preventDefault(),await Worker$1.openByOpener(o)))}}let decoratorBeforeOpen,decoratorAfterOpen,decoratorIsIgnoreOuterClick,i18n={Close:"Close"};class Worker{static noClose=!1;static vueConnectors=new Map;static onInitApp(e){decoratorBeforeOpen=e==null?void 0:e.decoratorBeforeOpen,decoratorAfterOpen=e==null?void 0:e.decoratorAfterOpen,decoratorIsIgnoreOuterClick=e==null?void 0:e.decoratorIsIgnoreOuterClick,i18n=e==null?void 0:e.i18n}static getPopup(e){return utils_dom.storage(e,"Popup")}static getAll(){return utils_dom.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(e){const t={};return t.popup=e.dataset.topPopup,e.dataset.topPopupP&&(t.p=parseInt(e.dataset.topPopupP)),e.dataset.topPopupNotch&&(t.notch=e.dataset.topPopupNotch),e.dataset.topPopupClass&&(t.class=e.dataset.topPopupClass),e.dataset.topPopupPosBy&&(t.posBy=e.dataset.topPopupPosBy),e.dataset.topPopupFront&&(t.frontSelector=e.dataset.topPopupFront),e.dataset.topPopupInvertX&&(t.invertX=e.dataset.topPopupInvertX),e.dataset.topPopupOpenByHover&&(t.openByHover=e.dataset.topPopupOpenByHover),e.dataset.topPopupUseOriginal&&(t.useOriginal=e.dataset.topPopupUseOriginal),await Worker.open(e,t)}static async open(elOpener,options){elOpener.dataset.topPopupOpened="opened";const{default:Popup}=await new Promise((e,t)=>require(["../.chunks/popup-e1f34511.amd"],e,t));if(typeof jQuery=="function"){const $elOpener=jQuery(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,options.i18n=i18n,await new Popup(elOpener,options)}static close(e){const t=Worker.getPopup(e);t&&t.close()}static recalcPosition(e){const t=Worker.getPopup(e);t&&(t.recalcPosition(),HelperCommon.genHasScroll($(t.elPopupBody)))}static scrollToActive(e){if(!utils_dom.querySelectorVisible(e,"ul.top-popup_content > li > .top-active"))return;const o=e.querySelector("ul.top-popup_content"),a=utils_dom.querySelectorAllVisible(e,"ul.top-popup_content > li");e.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>e.classList.remove("top-popup-wrapper-no_animate"),100);let r=100;for(const s of a){if(s.querySelector(":scope > .top-active"))break;r+=s.offsetHeight}const p=o.offsetHeight;r>p?o.scrollTop=r-p:o.scrollTop=0}static decoratorBeforeOpen(e){decoratorBeforeOpen&&decoratorBeforeOpen(e)}static decoratorAfterOpen(e){decoratorAfterOpen&&decoratorAfterOpen(e)}static decoratorIsIgnoreOuterClick(e){return decoratorIsIgnoreOuterClick?decoratorIsIgnoreOuterClick(e):!1}static regVueComponent(e,t){if(Worker.vueConnectors.get(e))throw"Vue component Popup use duplicated id: "+e;Worker.vueConnectors.set(e,t)}static unregVueComponent(e){Worker.vueConnectors.delete(e)}}WorkerEvents.init(Worker,forms.Core);const Worker$1=Worker;return Worker$1});
2
2
  //# sourceMappingURL=worker.amd.js.map
package/popup/worker.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as Core, E as Events } from "../.chunks/forms-6c397f5a.es.js";
1
+ import { C as Core, E as Events } from "../.chunks/forms-eb00d0c1.es.js";
2
2
  import DOM from "../utils/dom.js";
3
3
  import "vue";
4
4
  class WorkerEvents {
@@ -76,7 +76,7 @@ class Worker {
76
76
  */
77
77
  static async open(elOpener, options) {
78
78
  elOpener.dataset.topPopupOpened = "opened";
79
- const { default: Popup } = await import("../.chunks/popup-04c385e0.es.js");
79
+ const { default: Popup } = await import("../.chunks/popup-6f73b4b2.es.js");
80
80
  if (typeof jQuery == "function") {
81
81
  const $elOpener = jQuery(elOpener);
82
82
  if ($elOpener.data("aftershow")) {
package/tabs/tabs.amd.js CHANGED
@@ -1,3 +1,3 @@
1
- define(["exports","vue","../.chunks/forms-cab135c7.amd"],function(o,t,a){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;var s=document.createElement("style");s.textContent=`.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{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-primary);color:var(--color-primary)}.top-tabs_tabLabel.top-disabled{color:var(--color-text-3)}.top-tabs_content{padding:14px;overflow:auto;display:none}
1
+ define(["exports","vue","../.chunks/forms-02202302.amd"],function(o,t,a){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;var s=document.createElement("style");s.textContent=`.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{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-primary);color:var(--color-primary)}.top-tabs_tabLabel.top-disabled{color:var(--color-text-3)}.top-tabs_content{padding:14px;overflow:auto;display:none}
2
2
  `,document.head.appendChild(s);const c={class:t.normalizeClass({"top-tabs":!0})},p={key:0,class:"top-tabs_header"},d={class:"top-tabs_contents"},r=t.defineComponent({__name:"tabs",props:{id:{}},setup(n){return(e,l)=>(t.openBlock(),t.createElementBlock("div",c,[t.renderSlot(e.$slots,"buttons"),e.$slots.header?(t.openBlock(),t.createElementBlock("div",p,[t.renderSlot(e.$slots,"header")])):t.createCommentVNode("",!0),t.createElementVNode("div",d,[t.renderSlot(e.$slots,"contents")])]))}}),b={$style:{"top-tabs":"top-tabs","top-tabs_header":"top-tabs_header","top-tabs_contents":"top-tabs_contents","top-tabs_tabInput":"top-tabs_tabInput","top-tabs_content":"top-tabs_content"}},i=a._export_sfc(r,[["__cssModules",b]]),_=["id","name","value","checked","disabled"],h=["for"],m=t.defineComponent({__name:"tab",props:{tabsId:{},name:{},title:{},active:{type:Boolean},disabled:{type:Boolean}},setup(n){return(e,l)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("input",{type:"radio",class:"top-tabs_tabInput top-unvisible",id:e.tabsId+e.name,name:e.tabsId,value:e.name,checked:e.active,disabled:e.disabled},null,8,_),t.createElementVNode("label",{class:t.normalizeClass({"top-tabs_tabLabel":!0,"top-forms-focusable":!0,"top-disabled":e.disabled}),for:e.tabsId+e.name},[t.renderSlot(e.$slots,"default")],10,h)],64))}}),u={$style:{"top-tabs_tabLabel":"top-tabs_tabLabel","top-tabs_tabInput":"top-tabs_tabInput","top-disabled":"top-disabled"}},y=a._export_sfc(m,[["__cssModules",u]]),f=["data-tabs-name"],k=t.defineComponent({__name:"content",props:{name:{}},setup(n){return(e,l)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass({"top-tabs_content":!0}),"data-tabs-name":e.name},[t.renderSlot(e.$slots,"default")],8,f))}}),$={$style:{"top-tabs_content":"top-tabs_content"}},I=a._export_sfc(k,[["__cssModules",$]]);o.Tabs=i,o.TabsContent=I,o.TabsTab=y,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
3
3
  //# sourceMappingURL=tabs.amd.js.map
package/tabs/tabs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as n, openBlock as e, createElementBlock as a, renderSlot as s, createCommentVNode as c, createElementVNode as o, normalizeClass as b, Fragment as _ } from "vue";
2
- import { _ as l } from "../.chunks/forms-6c397f5a.es.js";
2
+ import { _ as l } from "../.chunks/forms-eb00d0c1.es.js";
3
3
  const r = {
4
4
  class: /* @__PURE__ */ b({
5
5
  "top-tabs": !0
package/utils/date.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["../.chunks/forms-cab135c7.amd","vue"],function(e,t){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;return e.UtilsDate});
1
+ define(["../.chunks/forms-02202302.amd","vue"],function(e,t){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;return e.UtilsDate});
2
2
  //# sourceMappingURL=date.amd.js.map
package/utils/date.js CHANGED
@@ -1,4 +1,4 @@
1
- import { U as a } from "../.chunks/forms-6c397f5a.es.js";
1
+ import { U as a } from "../.chunks/forms-eb00d0c1.es.js";
2
2
  import "vue";
3
3
  export {
4
4
  a as default
@@ -1,2 +1,2 @@
1
- define(["../.chunks/forms-cab135c7.amd","vue"],function(e,u){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;return e.Device});
1
+ define(["../.chunks/forms-02202302.amd","vue"],function(e,u){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;return e.Device});
2
2
  //# sourceMappingURL=device.amd.js.map
package/utils/device.js CHANGED
@@ -1,4 +1,4 @@
1
- import { D as a } from "../.chunks/forms-6c397f5a.es.js";
1
+ import { D as a } from "../.chunks/forms-eb00d0c1.es.js";
2
2
  import "vue";
3
3
  export {
4
4
  a as default
@@ -1 +0,0 @@
1
- {"version":3,"file":"forms-6c397f5a.es.js","sources":["../../src/core/utils/device.ts","../../src/core/core/events.ts","../../src/core/core/options.ts","../../src/core/core/state.ts","../../src/core/directives/tooltip.ts","../../src/core/core/core.ts","../../src/core/utils/date.ts","../../src/components/forms/button/button.vue","../../src/components/forms/checkbox/checkbox.vue","../../src/components/forms/input/input.vue","../../src/components/forms/inputDate/inputDate.vue","../../src/components/forms/radio/radio.vue","../../src/components/forms/switcher/switcher.vue","../../src/components/forms/textarea/textarea.vue","../../src/components/forms/select/select.vue"],"sourcesContent":["class Device {\r\n\r\n\tstatic isRetina () {\r\n\t\treturn ('devicePixelRatio' in window && window.devicePixelRatio > 1);\r\n\t}\r\n\r\n\t// определить, является ли устройство мобильным\r\n\tstatic isMobile (): boolean {\r\n\t\treturn !!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i);\r\n\t}\r\n\r\n\t// определить, открыт ли сайт в приложении\r\n\tstatic isApp () {\r\n\t\treturn (navigator.userAgent.indexOf('Topvisor_App') != -1);\r\n\t}\r\n\r\n\t// определить, является ли OS пользователя macOS\r\n\tstatic isMacOS () {\r\n\t\treturn navigator.userAgent.indexOf('Mac OS X') !== -1;\r\n\t}\r\n\r\n\t// определить, является ли текущий браузер пользователя Safari\r\n\tstatic isSafari () {\r\n\t\tconst isChrome = /Chrome|Android/.test(navigator.userAgent);\r\n\r\n\t\tlet isSafari = /Safari/.test(navigator.userAgent);\r\n\t\tif (isChrome && isSafari) {\r\n\t\t\tisSafari = false;\r\n\t\t}\r\n\r\n\t\treturn isSafari;\r\n\t};\r\n\r\n\t/**\r\n\t * Вернуть текст для обозначения клавиши Ctrl / Command в зависимости от OS\r\n\t * @returns {'Ctrl'|'⌘'}\r\n\t */\r\n\tstatic getCommandKeyLabel (): 'Ctrl' | '⌘' {\r\n\t\tif (this.isMacOS()) {\r\n\t\t\treturn '⌘';\r\n\t\t} else {\r\n\t\t\treturn 'Ctrl';\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\nexport default Device;\r\n","const onResizeDelay = 100;\r\n\r\nlet onResizeTimer: NodeJS.Timeout;\r\n\r\ntype TopEvent = Event & { topEvent: { widthDiff: number, hightDiff: number } }\r\n\r\n/**\r\n * Установленные обрабочики на событие изменения размеров окна\r\n */\r\nconst onResizeListeners: Map<(ev: TopEvent) => any, (ev: TopEvent) => any> = new Map();\r\n\r\n// зафиксированное состояние размеров окна\r\nconst windowSize = {\r\n\twidth: window.innerWidth,\r\n\theight: window.innerHeight,\r\n};\r\n\r\n/**\r\n * Добавить обработчик на событие изменения размеров экрана\r\n * вызов таких обработчиков будет опмизирован и объединен в одно событие\r\n */\r\nfunction addOnReize (listener: (this: Element, ev: TopEvent) => any) {\r\n\tonResizeListeners.set(listener, listener);\r\n}\r\n\r\n/**\r\n * Удаление обработчика на событие изменений размеров экрана\r\n */\r\nfunction removeOnResize (listener: (this: Element, ev: TopEvent) => any) {\r\n\tonResizeListeners.delete(listener);\r\n}\r\n\r\nfunction onResize (e: any) {\r\n\tclearTimeout(onResizeTimer);\r\n\r\n\tonResizeTimer = setTimeout(function () {\r\n\t\te.topEvent = {\r\n\t\t\twidthDiff: windowSize.width - window.innerWidth,\r\n\t\t\thightDiff: windowSize.height - window.innerHeight,\r\n\t\t};\r\n\r\n\t\twindowSize.width = window.innerWidth;\r\n\t\twindowSize.height = window.innerHeight;\r\n\r\n\t\tonResizeListeners.forEach((callback) => callback(e));\r\n\t}, onResizeDelay);\r\n}\r\n\r\nwindow.addEventListener('resize', onResize);\r\n\r\nexport default {\r\n\taddOnReize,\r\n\tremoveOnResize,\r\n};\r\n","/**\r\n * Конфигурация UI\r\n * Можно переопределить при подклчюении UI во Vue приложение через app.use(Core, options)\r\n */\r\nconst options = {\r\n\twidthForMobile: 900,\r\n\tdateFormat: 'Y-m-d',\r\n\r\n\t/**\r\n\t * Для Москвы: +0300\r\n\t */\r\n\tgmt: new Date().toString().match(/GMT(\\S+)/)?.[1],\r\n};\r\n\r\nexport default options;","/**\r\n * State UI для взаимодейсвтиями с приложениями Vue\r\n */\r\nconst state = {\r\n\t/**\r\n\t * Device by size\r\n\t * @see widthForMobile\r\n\t */\r\n\tisMobile: false,\r\n\r\n\t/**\r\n\t * Device by user agent\r\n\t */\r\n\tisMobileUA: false,\r\n\r\n\t/**\r\n\t * true, если плотность пикселей экрана больше 1\r\n\t */\r\n\tisRetina: false,\r\n\r\n\t/**\r\n\t * true, елси это приложение\r\n\t */\r\n\tisApp: false,\r\n\r\n\t/**\r\n\t * true при горизонтальном расположении устройства\r\n\t */\r\n\tisLandscape: true,\r\n\r\n\t/**\r\n\t * true при вертикальном расположении устройства\r\n\t */\r\n\tisPortrait: false,\r\n\tsize: 0,\r\n\r\n\t// См. core.options\r\n\tdateFormat: 'Y-m-d',\r\n\r\n\t// См. core.options\r\n\tgmt: new Date().toString().match(/GMT(\\S+)/)?.[1],\r\n};\r\n\r\nexport default state;","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\r\n\r\nconst _window: any = window;\r\n\r\nconst $ = (el: VNode) => {\r\n\tif (!_window?.jQuery?.ui?.tooltip) {\r\n\t\tconsole.info('Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\treturn _window.jQuery(el);\r\n};\r\n\r\nconst tvTooltipGenOptions = (binding: DirectiveBinding, vnode: VNode) => {\r\n\tconst options = binding.value ?? {};\r\n\r\n\toptions.content ??= vnode.props?.title;\r\n\toptions.content = String(options.content).replace(/\\r\\n|\\r|\\n/g, '<br>');\r\n\r\n\toptions.position ??= {\r\n\t\tmy: 'bottom-18px',\r\n\t\tat: 'top center',\r\n\t};\r\n\r\n\treturn options;\r\n};\r\n\r\nconst tooltip = {\r\n\tmounted(el: VNode, binding: DirectiveBinding, vnode: VNode) {\r\n\t\t$(el)?.tooltip(tvTooltipGenOptions(binding, vnode));\r\n\t},\r\n\r\n\tupdated(el: VNode, binding: DirectiveBinding, vnode: VNode, _prevVnode: VNode) {\r\n\t\t/**\r\n\t\t * В результате обновления может быть открыто несколько тултипов поэтому изменить опции, без перерисовки тултипа\r\n\t\t */\r\n\t\tconst options = tvTooltipGenOptions(binding, vnode);\r\n\t\tconst instance = $(el)?.tooltip('instance');\r\n\t\tif (!instance) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tinstance.options = {\r\n\t\t\t...instance.options,\r\n\t\t\t...options,\r\n\t\t};\r\n\t},\r\n\r\n\tunmounted(el: VNode, binding: DirectiveBinding, vnode: VNode) {\r\n\t\t$(el)?.tooltip('destroy');\r\n\t},\r\n} satisfies ObjectDirective;\r\n\r\nexport default tooltip;","import { reactive } from 'vue';\r\nimport Device from '@/core/utils/device';\r\nimport Events from '@/core/core/events';\r\nimport options from '@/core/core/options';\r\nimport state from '@/core/core/state';\r\nimport directiveTooltip from '@/core/directives/tooltip';\r\n\r\nconst _window: any = window;\r\n\r\nclass Core {\r\n\r\n\t/**\r\n\t * Настройки словаря\r\n\t */\r\n\tstatic L = reactive({\r\n\t\tNot_date: 'Not date',\r\n\t});\r\n\r\n\tstatic page = _window?.page || {};\r\n\r\n\tstatic options = options;\r\n\r\n\tstatic state = reactive({ ...state });\r\n\r\n\tstatic matchMediaIsMobile?: MediaQueryList;\r\n\r\n\t/**\r\n\t * Добавить на страницу стили, используется для загрузки стилей из js\r\n\t *\r\n\t * Условная загрузка стилей m и pc отключена в пользу производительсности, стили грузятся всегда, но применяются по условию\r\n\t * @param style - css стили в строке\r\n\t * @param type - если указать 'm' или 'pc', то стили будут применяться по условию в зависимости от настройки this.options.widthForMobile\r\n\t */\r\n\tstatic appendStyle(style: string, type: '' | 'm' | 'pc' = ''): void {\r\n\t\tlet media = 'all';\r\n\r\n\t\tif (type === 'm') {\r\n\t\t\tmedia = '(max-width: ' + this.options.widthForMobile + 'px)';\r\n\t\t}\r\n\r\n\t\tif (type === 'pc') {\r\n\t\t\tmedia = '(min-width: ' + this.options.widthForMobile + 'px)';\r\n\t\t}\r\n\r\n\t\tconst elStyle = document.createElement('style');\r\n\t\telStyle.innerHTML = style;\r\n\t\telStyle.media = media;\r\n\r\n\t\tdocument.head.append(elStyle);\r\n\t}\r\n\r\n\t/**\r\n\t * Установить как плагин в прилоежнии Vue\r\n\t * Core.state является общим для всех приложений Vue на странице\r\n\t * Core.options является общим для всех приложений Vue на странице\r\n\t * @param app - Vue App\r\n\t * @param {typeof options} options - параметры UI\r\n\t */\r\n\tstatic install(app: any, options: typeof this.options) {\r\n\t\tCore.defineOptions(options);\r\n\r\n\t\tapp.provide('top-core', Core);\r\n\r\n\t\tthis.installDirectives(app);\r\n\t}\r\n\r\n\tstatic installDirectives(app: any) {\r\n\t\tapp.directive('top-tooltip', directiveTooltip);\r\n\t}\r\n\r\n\t/**\r\n\t * Установить конфигурацию UI\r\n\t * @param {typeof options} options\r\n\t */\r\n\tstatic defineOptions(options: typeof this.options) {\r\n\t\tif (options?.widthForMobile) {\r\n\t\t\tthis.options.widthForMobile = options.widthForMobile;\r\n\t\t}\r\n\r\n\t\tif (options?.dateFormat) {\r\n\t\t\tthis.options.dateFormat = options.dateFormat;\r\n\t\t}\r\n\r\n\t\tif (options?.gmt) {\r\n\t\t\tthis.options.gmt = options.gmt;\r\n\t\t}\r\n\r\n\t\tCore.setState();\r\n\t}\r\n\r\n\tstatic setState() {\r\n\t\tCore.matchMediaIsMobile = window.matchMedia(`(max-width: ${Core.options.widthForMobile}px)`);\r\n\r\n\t\tCore.state.isMobileUA = Device.isMobile();\r\n\t\tCore.state.isRetina = Device.isRetina();\r\n\t\tCore.state.isApp = Device.isApp();\r\n\t\tCore.state.dateFormat = this.options.dateFormat;\r\n\t\tCore.state.gmt = this.options.gmt;\r\n\r\n\t\tCore.setStateByWindowSize();\r\n\r\n\t\t// пересчет значений, зависящих от рамзеров окна\r\n\t\tEvents.addOnReize(Core.onResize);\r\n\r\n\t\tCore.onResize();\r\n\r\n\t\tCore.saveToCookie();\r\n\t}\r\n\r\n\tstatic onResize() {\r\n\t\tCore.setStateByWindowSize();\r\n\r\n\t\t// честный vh\r\n\t\tdocument.documentElement.style.setProperty('--100vh', window.innerHeight + 'px');\r\n\t}\r\n\r\n\tstatic setStateByWindowSize() {\r\n\t\tCore.state.isMobile = !!Core.matchMediaIsMobile?.matches;\r\n\t\tCore.state.isLandscape = (window.innerWidth > window.innerHeight);\r\n\t\tCore.state.isPortrait = !Core.state.isLandscape;\r\n\t\tCore.state.size = (window.innerWidth > window.innerHeight) ? window.innerWidth : window.innerHeight;\r\n\r\n\t\tCore.saveToCookie();\r\n\t}\r\n\r\n\t/**\r\n\t * Сохранить информацию об устройстве в cookie\r\n\t */\r\n\tstatic saveToCookie() {\r\n\t\tconst device = [\r\n\t\t\t1,\r\n\t\t\twindow.innerWidth,\r\n\t\t\twindow.innerHeight,\r\n\t\t\twindow.devicePixelRatio,\r\n\t\t\tNumber(Core.state.isMobile),\r\n\t\t\tNumber(Core.state.isRetina),\r\n\t\t];\r\n\r\n\t\tdocument.cookie = 'device=' + device.join(',') + '; path=/;';\r\n\t}\r\n\r\n}\r\n\r\nexport default Core;","import Core from '@/core/core/core';\r\n\r\nclass UtilsDate {\r\n\r\n\t/**\r\n\t * Получить объект Date из строки\r\n\t * @param date - строка с датой\r\n\t */\r\n\tstatic stringToDate(date: string) {\r\n\t\tif (date.indexOf('T') === -1) {\r\n\t\t\tif (date.length == 10) {\r\n\t\t\t\tdate += ' 00:00:00';\r\n\t\t\t}\r\n\r\n\t\t\tdate = date.replace(' ', 'T') + Core.state.gmt;\r\n\t\t}\r\n\r\n\t\treturn new Date(date);\r\n\t}\r\n\r\n\t// Перевод миллисекунд (UTC) в дату-строку (время локальное)\r\n\r\n\t/**\r\n\t * Перевод миллисекунд (UTC) в дату-строку (время локальное)\r\n\t * @param {?number} ms\r\n\t * @param {?boolean} useFormat\r\n\t */\r\n\tstatic ms2Date(ms: number, useFormat: boolean = true): string {\r\n\t\tlet date;\r\n\t\tif (ms != undefined) {\r\n\t\t\tdate = new Date(ms);\r\n\t\t} else {\r\n\t\t\tdate = new Date();\r\n\t\t}\r\n\r\n\t\tconst d = date.getDate().toString().padStart(2, '0');\r\n\t\tconst m = String(date.getMonth() + 1).padStart(2, '0');\r\n\t\tconst Y = date.getFullYear();\r\n\t\tconst H = date.getHours().toString().padStart(2, '0');\r\n\t\tconst i = date.getMinutes().toString().padStart(2, '0');\r\n\t\tconst s = date.getSeconds().toString().padStart(2, '0');\r\n\r\n\t\tdate = Y + '-' + m + '-' + d + ' ' + H + ':' + i + ':' + s;\r\n\r\n\t\tif (useFormat) {\r\n\t\t\tdate = this.dateFormat(date);\r\n\t\t}\r\n\r\n\t\treturn date;\r\n\t}\r\n\r\n\t/**\r\n\t * Перевод даты в формат пользователя\r\n\t * @param {string} date\r\n\t * @param {0|1|2|3} time - 0: только дата, 1: дата и часы, 2: дата и часы с минутами, 3: дата и часы с минутами и секундами\r\n\t */\r\n\tstatic dateFormat(date: string, time: 0 | 1 | 2 | 3 = 2, emptyValue: string = Core.L.Not_date): string {\r\n\t\tif (!date || date.substring(0, 10) === '0000-00-00') {\r\n\t\t\tif (emptyValue && emptyValue !== '0000-00-00') {\r\n\t\t\t\treturn emptyValue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst dateFormat = Core.state.dateFormat.toLowerCase();\r\n\r\n\t\tlet dateForObj = date.substring(0, 10);\r\n\r\n\t\tif (dateForObj.length === 7) {\r\n\t\t\tdateForObj += '-01';\r\n\t\t}\r\n\r\n\t\tdateForObj += ' 00:00';\r\n\r\n\t\t// safari fix\r\n\t\tdateForObj = dateForObj.replace(/-/g, '/');\r\n\r\n\t\tconst dateObject = new Date(dateForObj);\r\n\t\tif (isNaN(Number(dateObject))) {\r\n\t\t\treturn emptyValue;\r\n\t\t}\r\n\r\n\t\tlet result = dateFormat.\r\n\t\t\treplace('y', String(dateObject.getFullYear()).padStart(2, '0')).\r\n\t\t\treplace('m', String(dateObject.getMonth() + 1).padStart(2, '0')).\r\n\t\t\treplace('d', String(dateObject.getDate()).padStart(2, '0'));\r\n\r\n\t\tif (date.length > 10) {\r\n\t\t\tswitch (time) {\r\n\t\t\t\t// часы\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\tresult += ' ' + date.substring(11, 13);\r\n\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t// часы и минуты\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tresult += ' ' + date.substring(11, 16);\r\n\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t// часы, минуты и секунды\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tresult += ' ' + date.substring(11, 19);\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * Перевод даты из формата пользователя в системный формат\r\n\t * @param {string} date\r\n\t */\r\n\tstatic dateUnformat(date: string, emptyValue: string = Core.L.Not_date): string {\r\n\t\tif (!date) {\r\n\t\t\treturn emptyValue;\r\n\t\t}\r\n\r\n\t\tif (date.match(/\\d\\d\\d\\d-\\d\\d-\\d\\d/)) {\r\n\t\t\treturn date;\r\n\t\t}\r\n\r\n\t\tconst dateFormat = Core.state.dateFormat.toLowerCase();\r\n\r\n\t\tconst dateChunks = date.split(/\\W/);\r\n\t\tconst dateFormatChunks = dateFormat.split(/\\W/);\r\n\r\n\t\tlet d = '';\r\n\t\tlet m = '';\r\n\t\tlet y = '';\r\n\r\n\t\tdateFormatChunks.forEach((type, index) => {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'd':\r\n\t\t\t\t\td = dateChunks[index];\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'm':\r\n\t\t\t\t\tm = dateChunks[index];\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'y':\r\n\t\t\t\t\ty = dateChunks[index];\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tlet result = y + '-' + m + '-' + d;\r\n\r\n\t\tif (!result.match(/\\d\\d\\d\\d-\\d\\d-\\d\\d/)) {\r\n\t\t\tconsole.info('Неверный формат даты, будет возращена текущая дата, ' + result);\r\n\r\n\t\t\tresult = this.ms2Date((new Date()).getTime(), false).substring(0, 10);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n}\r\n\r\nexport default UtilsDate;","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Props } from './button';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tcolor: 'blue',\r\n\tstyling: '',\r\n\tsize: 's',\r\n});\r\n\r\nconst tagName = computed(() => props.href ? 'a' : 'button');\r\n\r\nconst type = computed(() => props.isSubmit ? 'submit' : undefined);\r\n</script>\r\n\r\n<template>\r\n\t<component\r\n\t\t:is=\"tagName\"\r\n\t\t:class=\"{\r\n\t\t\t['top-active']: isActive,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t['top-button']: true,\r\n\t\t\t['top-button-progress']: isProgress,\r\n\t\t\t[`top-size_${size}`]: !!size,\r\n\t\t\t[`top-color_${color}`]: true,\r\n\t\t\t[`top-style_${styling}`]: !!styling,\r\n\t\t}\"\r\n\t\t:name=\"name\"\r\n\t\t:title=\"title\"\r\n\t\t:href=\"href\"\r\n\t\t:type=\"type\"\r\n\t\t:data-top-icon=\"icon || undefined\"\r\n\t\t:data-top-icon2=\"icon2 || undefined\"\r\n\t\t:disabled=\"disabled || undefined\"\r\n\t\t:inProgress=\"isProgress\"\r\n\t>\r\n\t\t<!-- @slot Текст или HTML в кнопке -->\r\n\t\t<slot>\r\n\t\t\t{{ !icon ? 'Button' : '' }}\r\n\t\t</slot>\r\n\t</component>\r\n</template>\r\n\r\n<style module>\r\n@import \"./style/button.css\";\r\n@import \"./style/style-outline.css\";\r\n@import \"./style/style-soft.css\";\r\n@import \"./style/style-transparent.css\";\r\n\r\n.top-button {\r\n\t--top-button-color: var(--color-white);\r\n\t--top-button-background-color: transparent;\r\n\t--top-button-background-color-hover: var(--top-button-background-color);\r\n\t--top-button-background-color-active: var(--top-button-background-color-hover);\r\n\t--top-button-background-color-selected: var(--top-button-background-color-hover);\r\n\t--top-button-box-shadow: none;\r\n\t--top-button-box-shadow-hover: var(--top-shadow-darken-2);\r\n\t--top-button-box-shadow-active: var(--top-shadow-darken-3);\r\n\t--top-button-box-shadow-selected: var(--top-shadow-darken-3);\r\n\t--top-forms-border-width: 0px;\r\n\t--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));\r\n\t--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding));\r\n}\r\n\r\n.top-button.top-size_l {\r\n\t--top-forms-padding: var(--top-forms-padding_l);\r\n\t--top-forms-base-height: var(--top-forms-base-height_l);\r\n}\r\n\r\n.top-button.top-size_xl {\r\n\t--top-forms-padding: var(--top-forms-padding_xl);\r\n\t--top-forms-base-height: var(--top-forms-base-height_xl);\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Props, Emits } from './checkbox';\r\nimport ControlLabel from '../controlLabel/controlLabel.vue';\r\n\r\nconst props = defineProps<Props>();\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget () {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset (value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\n</script>\r\n\r\n<template>\r\n\t<label :class=\"{\r\n\t\t['top-forms-optionWrapper']: true,\r\n\t\t['top-checkbox']: true,\r\n\t\t['top-checkbox_' + name]: name !== '',\r\n\t\t['top-disabled']: disabled,\r\n\t\t['top-error']: isError && !disabled,\r\n\t}\">\r\n\t\t<input\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-forms-option']: true,\r\n\t\t\t\t['top-checkbox_input']: true,\r\n\t\t\t\t['top-error']: isError && !disabled,\r\n\t\t\t}\"\r\n\t\t\t:name=\"name\"\r\n\t\t\tv-model=\"localValue\"\r\n\t\t\t:value=\"value\"\r\n\t\t\t:indeterminate=\"indeterminate\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\r\n\t\t<ControlLabel\r\n\t\t\tv-if=\"title\"\r\n\t\t\t:title=\"title\"\r\n\t\t\t:description=\"description\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t/>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-checkbox {\r\n\tcursor: pointer;\r\n\tdisplay: inline-flex;\r\n}\r\n\r\n.top-checkbox_input {\r\n\tcursor: inherit;\r\n\tborder-radius: 4px;\r\n\tbackground: var(--content-background-color);\r\n\tborder: 1px solid var(--top-forms-border-color);\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-checkbox_input:before {\r\n\tcontent: ' ';\r\n\tcolor: #FFF;\r\n\tfont-family: 'Topvisor-2';\r\n\tfont-size: 16px;\r\n}\r\n\r\n.top-checkbox_input:hover {\r\n\tborder-color: var(--top-forms-option-color);\r\n\tbackground: var(--color-theme-50)\r\n}\r\n\r\n/* checked / indeterminate */\r\n.top-checkbox_input:checked,\r\n.top-checkbox_input:indeterminate {\r\n\tborder-color: var(--top-forms-option-color);\r\n\tbackground: var(--top-forms-option-color);\r\n}\r\n\r\n.top-checkbox_input:checked:before {\r\n\tcontent: '';\r\n}\r\n\r\n.top-checkbox_input:indeterminate:before {\r\n\tcontent: '';\r\n}\r\n\r\n.top-checkbox_input:checked:hover,\r\n.top-checkbox_input:indeterminate:hover {\r\n\tborder-color: var(--top-forms-option-color-hover);\r\n\tbackground: var(--top-forms-option-color-hover);\r\n}\r\n\r\n/* disabled selected */\r\n.top-checkbox_input:disabled {\r\n\tborder-color: var(--color-line-1-opacity);\r\n\tbackground: var(--color-theme-50);\r\n}\r\n\r\n.top-checkbox_input:checked:disabled,\r\n.top-checkbox_input:indeterminate:disabled {\r\n\tborder-color: transparent;\r\n\tbackground: var(--color-theme-400);\r\n}\r\n\r\n/* isError */\r\n.top-checkbox_input.top-error {\r\n\tborder-color: var(--color-negative);\r\n}\r\n\r\n.top-checkbox_input.top-error:hover {\r\n\tborder-color: var(--color-negative-2);\r\n}\r\n\r\n/* isError selected */\r\n.top-checkbox_input:checked.top-error,\r\n.top-checkbox_input:indeterminate.top-error {\r\n\tbackground: var(--color-negative);\r\n}\r\n\r\n.top-checkbox_input:checked.top-error:hover,\r\n.top-checkbox_input:indeterminate.top-error:hover {\r\n\tbackground: var(--color-negative-2);\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Props, Emits } from './input';\r\n\r\ndefineOptions({\r\n\tinheritAttrs: false,\r\n});\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n\tcaptionType: '',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget() {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset(value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\nconst placeholder = computed(() => {\r\n\tif (props.addCleaner && !props.title) {\r\n\t\treturn '';\r\n\t}\r\n\tif (props.captionType !== '') {\r\n\t\treturn '';\r\n\t}\r\n\r\n\treturn props.title;\r\n});\r\n\r\nconst clean = () => {\r\n\temit('update:modelValue', '');\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t\t['top-input']: true,\r\n\t\t\t['top-size_' + size]: true,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t\t['top-input-' + modificator]: !!modificator,\r\n\t\t\t['top-input-withCleaner']: addCleaner && localValue && localValue !== '0000-00-00',\r\n\t\t\t['top-formsCaptionWrapper']: captionType !== '',\r\n\t\t\t['top-formsCaptionWrapper-always']: captionType === 'top',\r\n\t\t}\"\r\n\t\t:data-top-icon=\"icon\"\r\n\t\t:data-top-icon2=\"icon2\"\r\n\t>\r\n\t\t<input\r\n\t\t\ttype=\"text\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-input_input']: true,\r\n\t\t\t\t['top-input_input-' + modificator]: !!modificator,\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-error']: isError,\r\n\t\t\t}\"\r\n\t\t\tautocomplete=\"off_always\"\r\n\t\t\t:name=\"name\"\r\n\t\t\tv-model=\"localValue\"\r\n\t\t\t:title=\"title\"\r\n\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t\t:readonly=\"readonly\"\r\n\t\t\t@keydown.esc.stop=\"() => (addCleaner || !!$slots.btn) && clean()\"\r\n\t\t\t:=\"$attrs\"\r\n\t\t>\r\n\r\n\t\t<span\r\n\t\t\tv-if=\"addCleaner && localValue && localValue !== '0000-00-00'\"\r\n\t\t\tclass=\"top-input_cleaner\"\r\n\t\t\tdata-top-icon=\"\"\r\n\t\t\t@click.prevent=\"clean\"\r\n\t\t></span>\r\n\r\n\t\t<span\r\n\t\t\tv-if=\"captionType !== ''\"\r\n\t\t\tclass=\"top-formsCaption\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</span>\r\n\r\n\t\t<!-- @slot Слот для вставки произвольного кода в label -->\r\n\t\t<slot></slot>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-input {\r\n\t--top-forms_clear-width: 0px;\r\n\r\n\twidth: 180px;\r\n\tposition: relative;\r\n\tdisplay: inline-flex;\r\n\talign-items: center;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-input_input {\r\n\tbackground: var(--top-forms-background-color);\r\n\theight: var(--top-forms-base-height);\r\n\tpadding: 0;\r\n\tpadding-right: calc(max(var(--top-forms-padding), calc(var(--top-icon2-width) + var(--top-forms_clear-width))));\r\n\tpadding-left: calc(max(var(--top-forms-padding), var(--top-icon-width)));\r\n}\r\n\r\n.top-input_input:hover {\r\n\tbackground: var(--top-forms-background-color-hover);\r\n}\r\n\r\n.top-input_input:focus {\r\n\toutline-color: var(--color-theme-75);\r\n\toutline-offset: 0;\r\n}\r\n\r\n/* значки */\r\n.top-input[data-top-icon]:before,\r\n.top-input[data-top-icon2]:after {\r\n\t--top-icon-color: var(--color-text-secondary);\r\n\t--top-icon2-color: var(--color-text-secondary);\r\n\r\n\tposition: absolute;\r\n\tz-index: 3;\r\n}\r\n\r\n.top-input[data-top-icon]:before {\r\n\tleft: 0;\r\n}\r\n\r\n.top-input[data-top-icon2]:after {\r\n\tright: 0;\r\n}\r\n\r\n/* cleaner */\r\n.top-input-withCleaner {\r\n\t--top-forms_clear-width: 24px;\r\n}\r\n\r\n.top-input_cleaner {\r\n\t--top-icon-size: 20px;\r\n\t--top-icon-width: 20px;\r\n\t--top-icon-color: var(--color-text-3);\r\n\r\n\tcursor: pointer;\r\n\tborder-radius: 50%;\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tposition: absolute;\r\n\tright: calc(var(--top-forms-border-width) + max(var(--top-icon2-width), var(--top-forms-padding) / 2));\r\n\tz-index: 1;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n}\r\n\r\n.top-input_cleaner:hover {\r\n\t--top-icon-color: var(--color-text-2);\r\n}\r\n\r\n/* TODO: перенести в inputsRange */\r\n.top-input_input {\r\n\twidth: 50%;\r\n\tflex-grow: 1;\r\n}\r\n</style>","<script lang=\"ts\">\r\nconst useNativeDatepicker = !!document.documentElement.ontouchstart && !!document.createElement('input').showPicker;\r\n\r\nlet onInputLazy = (_e: any) => { };\r\n</script>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, computed, onUnmounted } from 'vue';\r\nimport UtilsDate from '@/core/utils/date';\r\nimport type { Props, Emits } from './inputDate';\r\nimport { Input } from '@/components/forms/forms';\r\nimport Core from '@/core/core/core';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\ticon2: '',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst el = ref();\r\n\r\nconst localValue = computed({\r\n\tget() {\r\n\t\treturn UtilsDate.dateFormat(props.modelValue, 2, '0000-00-00');\r\n\t},\r\n\r\n\tset(value) {\r\n\t\tvalue = UtilsDate.dateUnformat(value, '0000-00-00');\r\n\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\nlet oninput = (e: any) => {\r\n\tonInputLazy(e);\r\n};\r\n\r\nlet onchange = (e: any) => {\r\n\tconst dateUnformat = UtilsDate.dateUnformat(e.target.value);\r\n\tconst dateFormat = UtilsDate.dateFormat(dateUnformat);\r\n\r\n\tif (!dateFormat || dateFormat === Core.L.Not_date || e.target.value !== dateFormat) {\r\n\t\te.target.value = localValue.value;\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tlocalValue.value = e.target.value;\r\n};\r\n\r\n/**\r\n * Инициализпация функций выбора дат\r\n *\r\n * Для не нативного datepicker\r\n */\r\nasync function init(e: any) {\r\n\tconst datepicker = await import('./datepicker');\r\n\r\n\t// формат ввода\r\n\tonInputLazy = datepicker.oninput;\r\n\r\n\t// datepicker\r\n\tconst $el = datepicker.connectDatepicker(e.target, {\r\n\t\tonSelect: () => onchange(e),\r\n\t});\r\n\r\n\tif ($el) {\r\n\t\t$el.datepicker('show');\r\n\r\n\t\tonUnmounted(() => $el.datepicker('destroy'));\r\n\t}\r\n}\r\n</script>\r\n\r\n<template>\r\n\t<Input\r\n\t\tv-if=\"useNativeDatepicker\"\r\n\t\t:=\"$props\"\r\n\t\t:modelValue=\"localValue\"\r\n\t\treadonly\r\n\t\t@click=\"el.showPicker()\"\r\n\t>\r\n\t\t<input\r\n\t\t\tref=\"el\"\r\n\t\t\ttype=\"date\"\r\n\t\t\tclass=\"top-input_input-date\"\r\n\t\t\t:modelValue=\"modelValue\"\r\n\t\t\t@change=\"(e: any) => localValue = e.target.value\"\r\n\t\t\ttabindex=\"-1\"\r\n\t\t/>\r\n\t</Input>\r\n\r\n\t<Input\r\n\t\tv-else\r\n\t\t:=\"$props\"\r\n\t\t:modelValue=\"localValue\"\r\n\t\t@update:modelValue=\"(newValue) => (newValue === '') ? localValue = '' : ''\"\r\n\t\t@input.date=\"oninput\"\r\n\t\t@focus.once.date=\"init\"\r\n\t\t@change.date=\"onchange\"\r\n\t\tmodificator=\"datepicker\"\r\n\t/>\r\n</template>\r\n\r\n<style module>\r\n.top-input-datepicker {\r\n\twidth: calc(105px + var(--top-icon-width) + var(--top-icon2-width));\r\n}\r\n\r\n.top-input_input-date {\r\n\topacity: 0;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\tz-index: -1;\r\n}\r\n\r\n.top-input_input-date::-webkit-inner-spin-button {\r\n\tdisplay: none;\r\n}\r\n\r\n.top-input_input-date::-webkit-calendar-picker-indicator {\r\n\topacity: 0;\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Props, Emits } from './radio';\r\nimport ControlLabel from '../controlLabel/controlLabel.vue';\r\n\r\nconst props = defineProps<Props>();\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget () {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset (value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t['top-forms-optionWrapper']: true,\r\n\t\t['top-radio']: true,\r\n\t\t['top-radio_' + name]: name !== '',\r\n\t\t['top-disabled']: disabled,\r\n\t\t['top-error']: isError && !disabled,\r\n\t}\"\r\n\t>\r\n\t\t<input\r\n\t\t\ttype=\"radio\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-forms-option']: true,\r\n\t\t\t\t['top-radio_input']: true,\r\n\t\t\t\t['top-error']: isError && !disabled,\r\n\t\t\t}\"\r\n\t\t\tv-model=\"localValue\"\r\n\t\t\t:name=\"name\"\r\n\t\t\t:value=\"value\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\r\n\t\t<ControlLabel\r\n\t\t\tv-if=\"title\"\r\n\t\t\t:title=\"title\"\r\n\t\t\t:description=\"description\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t/>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n:root {\r\n\t--top-radio-background-color: var(--content-background-color);\r\n\t--top-radio-background-color-hover: var(--top-radio-background-color);\r\n\t--top-radio-background-color-active: var(--top-radio-background-color);\r\n}\r\n\r\n.top-radio {\r\n\tcursor: pointer;\r\n}\r\n\r\n.top-radio_input {\r\n\tborder-radius: 50%;\r\n\tbackground: var(--content-background-color);\r\n\tborder: 1px solid var(--top-forms-border-color);\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-radio_input:hover {\r\n\tborder-color: var(--top-forms-option-color);\r\n\tbackground: var(--color-theme-50)\r\n}\r\n\r\n.top-radio_input:checked {\r\n\tborder-color: var(--top-forms-option-color);\r\n\tborder-width: 5px;\r\n}\r\n\r\n.top-radio_input:checked:hover {\r\n\tborder-color: var(--top-forms-option-color-hover);\r\n}\r\n\r\n/* disabled */\r\n.top-radio_input:disabled {\r\n\tborder-color: var(--color-line-1-opacity);\r\n\tbackground: var(--color-theme-50);\r\n}\r\n\r\n/* disabled selected */\r\n.top-radio_input:checked:disabled {\r\n\tborder-color: var(--color-theme-400);\r\n}\r\n\r\n/* isError */\r\n.top-radio_input.top-error {\r\n\tborder-color: var(--color-negative);\r\n}\r\n\r\n.top-radio_input.top-error:hover {\r\n\tborder-color: var(--color-negative-2);\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Props, Emits } from './switcher';\r\nimport ControlLabel from '../controlLabel/controlLabel.vue';\r\n\r\nconst props = defineProps<Props>();\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget () {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset (value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t['top-forms-optionWrapper']: true,\r\n\t\t['top-checkboxSwitcher']: true,\r\n\t\t['top-disabled']: disabled,\r\n\t\t['top-error']: isError && !disabled,\r\n\t}\"\r\n\t>\r\n\t\t<input\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-forms-option']: true,\r\n\t\t\t\t['top-checkboxSwitcher_input']: true,\r\n\t\t\t\t['top-error']: isError && !disabled,\r\n\t\t\t}\"\r\n\t\t\tv-model=\"localValue\"\r\n\t\t\t:name=\"name\"\r\n\t\t\t:value=\"value\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\r\n\t\t<ControlLabel\r\n\t\t\tv-if=\"title\"\r\n\t\t\t:title=\"title\"\r\n\t\t\t:description=\"description\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t/>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-checkboxSwitcher {\r\n\tcursor: pointer;\r\n\tdisplay: inline-flex;\r\n\tgap: 4px;\r\n}\r\n\r\n.top-checkboxSwitcher_input {\r\n\tborder-radius: 9px;\r\n\tborder: none;\r\n\tbackground: var(--color-theme-100);\r\n\twidth: 36px;\r\n\theight: 18px;\r\n\tposition: relative;\r\n}\r\n\r\n.top-checkboxSwitcher_input:before {\r\n\tcontent: '';\r\n\tborder-radius: 50%;\r\n\tbackground: var(--color-white);\r\n\twidth: 12px;\r\n\theight: 12px;\r\n\tmargin: 3px;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\r\n\ttransition: left 0.1s;\r\n}\r\n\r\n.top-checkboxSwitcher_input:hover {\r\n\tbackground: var(--color-theme-150);\r\n}\r\n\r\n/* checked */\r\n.top-checkboxSwitcher_input:checked {\r\n\tbackground: var(--top-forms-option-color);\r\n}\r\n\r\n.top-checkboxSwitcher_input:checked:hover {\r\n\tbackground: var(--top-forms-option-color-hover);\r\n}\r\n\r\n.top-checkboxSwitcher_input:checked:before {\r\n\tleft: 50%;\r\n}\r\n\r\n/* disabled */\r\n.top-checkboxSwitcher_input:disabled {\r\n\tbackground: var(--color-theme-400);\r\n}\r\n\r\n/* isError */\r\n.top-checkboxSwitcher_input.top-error {\r\n\tbackground: var(--color-negative);\r\n}\r\n\r\n.top-checkboxSwitcher_input.top-error:hover {\r\n\tbackground: var(--color-negative-2);\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport Hint from '@/components/forms/hint/hint.vue';\r\nimport type { Props, Emits } from './textarea';\r\n\r\ndefineOptions({\r\n\tinheritAttrs: false,\r\n});\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\trows: 5,\r\n\tminHeight: 120,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst value = computed({\r\n\tget () {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset (value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t\t['top-textarea']: true,\r\n\t\t\t['top-textarea-' + name]: name,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t}\"\r\n\t>\r\n\t\t<textarea\r\n\t\t\ttype=\"text\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-textarea_textarea']: true,\r\n\t\t\t\t['top-textarea_textarea-expandable']: expandable,\r\n\t\t\t\t['top-error']: isError,\r\n\t\t\t}\"\r\n\t\t\tautocomplete=\"off_always\"\r\n\t\t\t:name=\"name\"\r\n\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t\t:readonly=\"readonly\"\r\n\t\t\t:rows=\"!expandable ? rows : undefined\"\r\n\t\t\t:=\"$attrs\"\r\n\t\t\tv-model=\"value\"\r\n\t\t/>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"expandable\"\r\n\t\t\tclass=\"top-textarea_pseudoContent\"\r\n\t\t>\r\n\t\t\t{{ value + ' ' }}\r\n\t\t</div>\r\n\r\n\t\t<Hint\r\n\t\t\tv-if=\"hint\"\r\n\t\t\tclass=\"top-textarea_hint\"\r\n\t\t\t:hint=\"hint\"\r\n\t\t\tv-top-tooltip\r\n\t\t/>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-textarea {\r\n\twidth: 180px;\r\n\tdisplay: inline-flex;\r\n\talign-items: center;\r\n\tposition: relative;\r\n}\r\n\r\n.top-textarea_textarea {\r\n\tbackground: var(--top-forms-background-color);\r\n\twidth: 100%;\r\n\tpadding: var(--top-forms-padding);\r\n\tresize: none;\r\n}\r\n\r\n.top-textarea_textarea:hover {\r\n\tbackground: var(--top-forms-background-color-hover);\r\n}\r\n\r\n.top-textarea_textarea:focus {\r\n\toutline-color: var(--color-theme-75);\r\n\toutline-offset: 0px;\r\n}\r\n\r\n.top-textarea_textarea.top-textarea_textarea-expandable {\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\toverflow: hidden;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n}\r\n\r\n.top-textarea_pseudoContent {\r\n\tbox-sizing: border-box;\r\n\tmin-height: v-bind(minHeight + 'px');\r\n\tpadding: var(--top-forms-padding);\r\n\tfont-size: 14px;\r\n\twhite-space: pre-wrap;\r\n\toverflow-wrap: anywhere;\r\n\tpointer-events: none;\r\n\topacity: 0;\r\n\tz-index: -1;\r\n}\r\n\r\n.top-textarea_hint {\r\n\tposition: absolute;\r\n\ttop: 2px;\r\n\tright: 2px;\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { toRef, computed, watch } from 'vue';\r\nimport type { Props, Emits } from './select';\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 localValue = computed({\r\n\tget() {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset(value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\n/**\r\n * Иконка выбранного option\r\n */\r\nconst optionIcon = computed(() => optionByValue.value.get(localValue.value)?.icon);\r\n\r\n/**\r\n * Словарь с доступными options\r\n */\r\nconst optionByValue = computed(() => {\r\n\tconst res = new Map();\r\n\r\n\tprops.options.forEach((option) => {\r\n\t\tif (option.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (option.children) {\r\n\t\t\toption.children.forEach(subOption => {\r\n\t\t\t\tif (subOption.disabled) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tres.set(subOption.value, subOption);\r\n\t\t\t});\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tres.set(option.value, option);\r\n\t});\r\n\r\n\treturn res;\r\n});\r\n\r\n/**\r\n * Логика для обртаной своместимости:\r\n * - null - заменить на первое доступное значение\r\n * - undefined - заменить на первое доступное значение\r\n */\r\nwatch([\r\n\ttoRef(props.modelValue),\r\n\toptionByValue,\r\n], () => {\r\n\tif ((localValue.value === null || localValue.value === undefined) && optionByValue.value.size) {\r\n\t\tconsole.warn('Пожалуйста, не передавайте в компонент Select значения null и undefined');\r\n\r\n\t\tlocalValue.value = optionByValue.value.keys().next().value;\r\n\t}\r\n}, { immediate: true });\r\n\r\n/**\r\n * Выбрать следующее доступное значение\r\n */\r\nconst selectNextValue = () => {\r\n\tconst listEnabledValues = [...optionByValue.value.keys()];\r\n\tconst currentIndex = listEnabledValues.indexOf(localValue.value);\r\n\tconst nextIndex = (currentIndex + 1) % listEnabledValues.length;\r\n\r\n\tlocalValue.value = listEnabledValues[nextIndex];\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t\t['top-select']:true,\r\n\t\t\t['top-select-' + name]:name,\r\n\t\t\t['top-size_' + size]: true,\r\n\t\t\t['top-formsCaptionWrapper']: !!title,\r\n\t\t\t['top-select-error']: isError,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t}\"\r\n\t\t:data-value=\"localValue\"\r\n\t\t:data-top-icon=\"icon\"\r\n\t\t:data-top-icon2=\"optionIcon\"\r\n\t>\r\n\t\t<select\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-select_select']: true,\r\n\t\t\t\t['top-select_arrow']: true,\r\n\t\t\t\t['top-error']: isError,\r\n\t\t\t}\"\r\n\t\t\t:name=\"name\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t\tv-model=\"localValue\"\r\n\t\t>\r\n\t\t\t<template v-for=\"[value, option] of options\">\r\n\t\t\t\t<optgroup\r\n\t\t\t\t\tv-if=\"option.children\"\r\n\t\t\t\t\t:key=\"'group_' + option.value\"\r\n\t\t\t\t\t:label=\"option.title\"\r\n\t\t\t\t\t:disabled=\"option.disabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<option\r\n\t\t\t\t\t\tv-for=\"[value, subOption] of option.children\"\r\n\t\t\t\t\t\t:key=\"value\"\r\n\t\t\t\t\t\t:value=\"subOption.value\"\r\n\t\t\t\t\t\t:disabled=\"subOption.disabled\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ subOption.title }}\r\n\t\t\t\t\t</option>\r\n\t\t\t\t</optgroup>\r\n\r\n\t\t\t\t<option\r\n\t\t\t\t\tv-else\r\n\t\t\t\t\t:key=\"value\"\r\n\t\t\t\t\t:value=\"option.value\"\r\n\t\t\t\t\t:disabled=\"option.disabled\"\r\n\t\t\t\t\t:selected=\"option.value === localValue\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ option.title }}\r\n\t\t\t\t</option>\r\n\t\t\t</template>\r\n\t\t</select>\r\n\r\n\t\t<span\r\n\t\t\tv-if=\"addChanger && optionByValue.size && !disabled\"\r\n\t\t\tclass=\"top-select_changer\"\r\n\t\t\t@click=\"selectNextValue\"\r\n\t\t></span>\r\n\r\n\t\t<span\r\n\t\t\tv-if=\"title\"\r\n\t\t\tclass=\"top-formsCaption\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</span>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-select {\r\n\t--top-icon-color: var(--color-text-3);\r\n\t--top-icon2-color: var(--color-text-2);\r\n\r\n\theight: auto;\r\n\twidth: 180px;\r\n\tmin-height: var(--top-forms-base-height);\r\n\tmax-width: 100%;\r\n\tvertical-align: middle;\r\n\tdisplay: inline-flex;\r\n\talign-items: center;\r\n\tcursor: pointer;\r\n}\r\n\r\n.top-select-error {\r\n\t--top-icon-color: var(--color-negative);\r\n\t--top-icon2-color: var(--color-negative);\r\n}\r\n\r\n.top-select_select {\r\n\tbackground-color: var(--top-forms-background-color);\r\n\r\n\t/* для select вместо padding нужно использовать text-indent */\r\n\tpadding-left: var(--top-forms-padding);\r\n\r\n\t/* если есть значки, добавить отступ на их ширину с учетом уже добавленного padding */\r\n\ttext-indent: calc(clamp(0px, calc(var(--top-icon-both-width) - var(--top-forms-padding)), calc(var(--top-icon-both-width) - var(--top-forms-padding))));\r\n\r\n\twidth: 100%;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n\tflex-grow: 1;\r\n\toverflow: hidden;\r\n}\r\n\r\n.top-select_select:focus {\r\n\toutline-color: var(--color-theme-75);\r\n\toutline-offset: 0px;\r\n}\r\n\r\n.top-select_select:disabled{\r\n\tbackground: var(--color-theme-50);\r\n}\r\n\r\n.top-select optgroup {\r\n\tcolor: var(--color-text-1);\r\n\tfont-style: normal;\r\n}\r\n\r\n.top-select option {\r\n\tbackground: var(--content-background-color);\r\n\tcolor: var(--color-text-1);\r\n}\r\n\r\n/* хром не мерняет цвет для optgroup option, стили оставлены по умолчанию */\r\n.top-select optgroup:disabled,\r\n.top-select optgroup option,\r\n.top-select option:disabled {\r\n\r\n}\r\n\r\n/* https://bugzilla.mozilla.org/show_bug.cgi?id=1743066 */\r\n@-moz-document url-prefix() {\r\n\t.top-select_select {\r\n\t\ttext-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);\r\n\t}\r\n}\r\n\r\n@media only screen and (min-width: 900px) {\r\n\t/* select changer */\r\n\t.top-select_changer {\r\n\t\tborder-radius: 100%;\r\n\t\twidth: 0;\r\n\t\ttransform: translateX(-44px);\r\n\t\tcolor: var(--color-text-secondary-2);\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1;\r\n\t\tdisplay: none;\r\n\t\tz-index: 2;\r\n\t\torder: 4;\r\n\t}\r\n\r\n\t.top-select_changer:hover {\r\n\t\tcolor: var(--color-primary);\r\n\t}\r\n\r\n\t.top-select_changer:after {\r\n\t\tcontent: '';\r\n\t\tbackground-color: var(--top-forms-background-color);\r\n\t\tfont-family: 'Topvisor-2';\r\n\t}\r\n\r\n\t.top-select:hover > .top-select_changer {\r\n\t\tdisplay: block;\r\n\t}\r\n}\r\n</style>"],"names":["Device","isChrome","isSafari","onResizeDelay","onResizeTimer","onResizeListeners","windowSize","addOnReize","listener","removeOnResize","onResize","e","callback","Events","options","state","_window","$","el","tvTooltipGenOptions","binding","vnode","_a","tooltip","_prevVnode","instance","Core","reactive","style","type","media","elStyle","app","directiveTooltip","device","UtilsDate","date","ms","useFormat","d","m","Y","H","i","s","time","emptyValue","dateFormat","dateForObj","dateObject","result","dateChunks","dateFormatChunks","y","index","tagName","computed","props","localValue","value","emit","placeholder","clean","useNativeDatepicker","onInputLazy","_e","ref","oninput","onchange","dateUnformat","init","datepicker","$el","onUnmounted","optionIcon","optionByValue","res","option","subOption","watch","toRef","selectNextValue","listEnabledValues","nextIndex"],"mappings":"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"}