diff --git a/eveai_chat_client/static/assets/css/chat.css b/eveai_chat_client/static/assets/css/chat.css index d34b537..5d78776 100644 --- a/eveai_chat_client/static/assets/css/chat.css +++ b/eveai_chat_client/static/assets/css/chat.css @@ -18,6 +18,16 @@ width: 100%; } +/* Mobile header container - hidden on desktop */ +#mobile-header-container { + display: none; +} + +/* Desktop layout - default */ +#sidebar-container { + display: block; +} + /* Sidebar styling */ .sidebar { width: 300px; @@ -254,4 +264,29 @@ body { /* .btn-primary wordt nu gedefinieerd in chat-components.css */ +/* Mobile responsive layout */ +@media (max-width: 768px) { + /* Switch to vertical layout */ + .app-container { + flex-direction: column; + } + + /* Hide desktop sidebar on mobile */ + #sidebar-container { + display: none; + } + + /* Show mobile header on mobile */ + #mobile-header-container { + display: block; + width: 100%; + } + + /* Content area takes remaining space */ + .content-area { + flex: 1; + height: calc(100vh - 60px); /* Subtract mobile header height */ + } +} + /* Responsieve design regels worden nu gedefinieerd in chat-components.css */ diff --git a/eveai_chat_client/static/assets/vue-components/LanguageSelector.vue b/eveai_chat_client/static/assets/vue-components/LanguageSelector.vue index 7b2c08a..7875dbd 100644 --- a/eveai_chat_client/static/assets/vue-components/LanguageSelector.vue +++ b/eveai_chat_client/static/assets/vue-components/LanguageSelector.vue @@ -225,4 +225,22 @@ export default { color: white; padding: 8px; } + +/* Mobile-specific styling when used in mobile header */ +@media (max-width: 768px) { + .language-selector { + margin: 0; + } + + .language-selector label { + display: none; /* Hide label in mobile header */ + } + + .language-select { + padding: 6px 10px; + font-size: 0.85rem; + min-width: 120px; + margin: 0; + } +} \ No newline at end of file diff --git a/eveai_chat_client/static/assets/vue-components/MobileHeader.vue b/eveai_chat_client/static/assets/vue-components/MobileHeader.vue new file mode 100644 index 0000000..2437bc1 --- /dev/null +++ b/eveai_chat_client/static/assets/vue-components/MobileHeader.vue @@ -0,0 +1,146 @@ + + + + + + \ No newline at end of file diff --git a/eveai_chat_client/static/assets/vue-components/SideBarLogo.vue b/eveai_chat_client/static/assets/vue-components/SideBarLogo.vue index 81b604c..6fc308f 100644 --- a/eveai_chat_client/static/assets/vue-components/SideBarLogo.vue +++ b/eveai_chat_client/static/assets/vue-components/SideBarLogo.vue @@ -69,4 +69,22 @@ const handleImageError = () => { font-weight: bold; font-size: 1.2rem; } + +/* Mobile-specific styling when used in mobile header */ +@media (max-width: 768px) { + .sidebar-logo { + padding: 5px 0; /* Reduce padding for mobile header */ + } + + .logo-image { + max-height: 40px; /* Smaller logo for mobile header */ + max-width: 120px; + } + + .logo-placeholder { + width: 40px; + height: 40px; + font-size: 1rem; + } +} \ No newline at end of file diff --git a/eveai_chat_client/static/assets/vue-components/index.js b/eveai_chat_client/static/assets/vue-components/index.js index 093728d..916f849 100644 --- a/eveai_chat_client/static/assets/vue-components/index.js +++ b/eveai_chat_client/static/assets/vue-components/index.js @@ -10,6 +10,8 @@ export { default as ProgressTracker } from './ProgressTracker.vue'; export { default as DynamicForm } from './DynamicForm.vue'; export { default as FormField } from './FormField.vue'; export { default as FormMessage } from './FormMessage.vue'; +export { default as SideBar } from './SideBar.vue'; +export { default as MobileHeader } from './MobileHeader.vue'; // Log successful loading console.log('Vue components loaded successfully from barrel export'); \ No newline at end of file diff --git a/eveai_chat_client/static/dist/chat-client.css b/eveai_chat_client/static/dist/chat-client.css new file mode 100644 index 0000000..e31b87b --- /dev/null +++ b/eveai_chat_client/static/dist/chat-client.css @@ -0,0 +1 @@ +:root{--primary-color:#007bff;--secondary-color:#6c757d;--background-color:#fff;--text-color:#212529;--sidebar-color:#f8f9fa;--message-user-bg:#e9f5ff;--message-bot-bg:#f8f9fa;--border-radius:8px;--spacing:16px}.app-container{width:100%;height:100vh;display:flex}#mobile-header-container{display:none}#sidebar-container{display:block}.sidebar{background-color:var(--sidebar-background);flex-direction:column;width:300px;padding:20px;display:flex;overflow-y:auto}.sidebar-explanation{background-color:var(--markdown-background-color);color:var(--markdown-text-color);border-radius:5px;margin-top:20px;padding:10px;overflow-y:auto}.sidebar-explanation *{color:inherit}.sidebar-explanation a{color:var(--primary-color);text-decoration:underline}.sidebar-explanation ul,.sidebar-explanation ol{margin:10px 0;padding-left:20px}.sidebar-explanation li{margin-bottom:5px}.sidebar-explanation ul li{list-style-type:disc}.sidebar-explanation ol li{list-style-type:decimal}.content-area{background:linear-gradient(135deg,var(--gradient-start-color),var(--gradient-end-color));flex-direction:column;flex:1;display:flex;overflow-y:auto}body{color:var(--text-color);background-color:var(--background-color);height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;overflow:hidden}.container{width:100%;height:100vh}.chat-container{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.sidebar{background-color:var(--sidebar-background);width:280px;padding:var(--spacing);border-right:1px solid #0000001a;flex-direction:column;display:flex;overflow-y:auto}.logo{margin-bottom:var(--spacing);text-align:center}.logo img{max-width:100%;max-height:60px}.sidebar-content{flex-direction:column;flex:1;display:flex}.sidebar-text{margin-bottom:var(--spacing)}.team-info{padding-top:var(--spacing);border-top:1px solid #0000001a;margin-top:auto}.team-member{align-items:center;margin-bottom:8px;display:flex}.team-member img{border-radius:50%;width:32px;height:32px;margin-right:8px}.chat-main{flex-direction:column;flex:1;height:100%;display:flex}.chat-header{padding:var(--spacing);border-bottom:1px solid #0000001a}.language-change-indicator{background-color:rgba(var(--primary-color-rgb,0,123,255),.2);color:#fff;text-align:center;border-radius:4px;margin-bottom:10px;padding:5px 8px;font-size:.9em;animation:3s ease-in-out fadeInOut}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}.language-change-indicator.success{color:#155724;background:#d4edda}.language-change-indicator.error{color:#721c24;background:#f8d7da}.user-message{float:right}.bot-message{float:left}.user-message .message-content{background-color:var(--message-user-bg);color:var(--text-color)}.bot-message .message-content{background-color:var(--message-bot-bg);color:var(--text-color)}#chat-input{border-radius:var(--border-radius);resize:none;border:1px solid #0003;flex:1;height:60px;margin-right:8px;padding:12px}.error-container{justify-content:center;align-items:center;height:100vh;display:flex}.error-box{border-radius:var(--border-radius);text-align:center;background-color:#fff;max-width:500px;padding:2rem;box-shadow:0 4px 6px #0000001a}.error-message{color:#dc3545;margin:1rem 0}.error-actions{margin-top:1.5rem}@media (width<=768px){.app-container{flex-direction:column}#sidebar-container{display:none}#mobile-header-container{width:100%;display:block}.content-area{flex:1;height:calc(100vh - 60px)}}.chat-app-container{box-sizing:border-box;flex-direction:column;width:100%;height:100%;min-height:0;padding:20px;display:flex}.chat-component-container{flex-direction:column;flex:1;width:100%;max-width:1000px;margin-left:auto;margin-right:auto;display:flex}.chat-messages-area{background:var(--history-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;flex-direction:column;flex:1;align-self:center;width:100%;max-width:1000px;min-height:0;margin-bottom:20px;margin-left:auto;margin-right:auto;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000001a}.chat-input-area{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffff26;border:1px solid #fff3;border-radius:15px;flex:none;align-self:center;width:100%;max-width:1000px;margin-left:auto;margin-right:auto;box-shadow:0 4px 20px #0000001a}.message-history-container{box-sizing:border-box;flex-direction:column;width:100%;max-width:1000px;height:100%;min-height:0;margin-left:auto;margin-right:auto;padding:20px;display:flex}.chat-messages{scroll-behavior:smooth;flex:1;margin-right:-10px;padding-right:10px;overflow-y:auto}.chat-input{background:var(--human-message-background);color:var(--human-message-text-color);border:1px solid #0000000d;border-radius:15px;align-items:flex-end;gap:12px;padding:20px;display:flex;box-shadow:0 2px 15px #0000001a}.character-counter{color:#666;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border-radius:10px;padding:2px 6px;font-size:12px;position:absolute;bottom:-25px;right:15px}.character-counter.over-limit{color:#dc3545;background:#dc35451a;font-weight:700}.loading-spinner{font-size:16px;animation:1s linear infinite spin}@media (width<=768px){.chat-app-container{padding:10px}.chat-messages-area{max-width:100%;margin-bottom:15px}.chat-input-area{max-width:100%}.message-history-container{max-width:100%;padding:15px}.chat-input{gap:10px;padding:15px}.action-btn{width:40px;height:40px;font-size:16px}.chat-component-container{max-width:100%}}@media (width<=480px){.chat-app-container{padding:8px}.chat-messages-area{margin-bottom:12px}.message-history-container{padding:12px}}.chat-input.loading .action-btn{animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#0000004d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#00000080}.message-text:empty{display:none}.progress-tracker .status-icon.error{color:#f44336}.progress-tracker.error .progress-header{background-color:#f443361a;border-color:#f44336}.message-content:has(.message-text:empty) .message-progress{margin-bottom:0}.message-content:has(.message-text:empty):not(:has(.message-progress.completed)):not(:has(.message-progress.error)){box-shadow:none;background:0 0;border:none;margin:0;padding:0}.chat-input:focus-within{border-color:#007bff4d;box-shadow:0 2px 20px #007bff33}.chat-messages-area,.chat-input-area{transition:all .3s}.chat-messages-area:hover,.chat-input-area:hover{box-shadow:0 6px 25px #00000026}.message{clear:both;margin-bottom:16px;padding:0 20px;animation:.3s ease-out messageSlideIn;display:flex}.message.user{justify-content:flex-end}.message.ai,.message.bot{justify-content:flex-start}.message-content{word-wrap:break-word;border-radius:18px;max-width:70%;padding:12px 16px;transition:all .2s;display:inline-block;position:relative;box-shadow:0 2px 8px #0000001a}.message.user .message-content{background:var(--human-message-background);color:var(--human-message-text-color);border-bottom-right-radius:4px}.message.ai .message-content,.message.bot .message-content{background:var(--ai-message-background);color:var(--ai-message-text-color);border-bottom-left-radius:4px;margin-right:60px}.message-text{margin-bottom:6px;font-size:14px;line-height:1.4}.message-text p{margin:0}.message-text p+p{margin-top:8px}.btn-small{cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:12px;transition:all .2s}.btn-primary{color:#fff;background:#007bff}.btn-primary:hover{background:#0056b3}.btn-secondary{color:#fff;background:#6c757d}.btn-secondary:hover{background:#545b62}.form-message{justify-content:center;margin:20px 0}.form-message .message-content{background:#fff;border:1px solid #e9ecef;border-radius:12px;max-width:90%;padding:20px;box-shadow:0 4px 12px #0000001a}.system-message{text-align:center;color:#6c757d;background:#6c757d1a;border-radius:20px;justify-content:center;align-items:center;gap:8px;max-width:80%;margin:10px auto;padding:8px 16px;font-size:13px;display:flex}.system-icon{font-size:14px}.error-message{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;max-width:80%;margin:10px auto;padding:12px 16px;display:flex}.error-icon{color:#dc3545;font-size:16px}.retry-btn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;padding:4px 12px;font-size:12px;transition:background-color .2s}.retry-btn:hover{background:#c82333}.message-reactions{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.reaction{cursor:pointer;background:#0000000d;border:1px solid #0000001a;border-radius:12px;padding:2px 8px;font-size:12px;transition:all .2s}.reaction:hover{background:#0000001a;transform:scale(1.05)}.message-image{cursor:pointer;border-radius:8px;max-width:100%;max-height:300px;margin-bottom:8px;transition:transform .2s}.message-image:hover{transform:scale(1.02)}.image-caption{opacity:.9;margin-bottom:6px;font-size:13px}.file-attachment{background:#00000008;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.file-icon{font-size:24px}.file-info{flex:1}.file-name{margin-bottom:2px;font-weight:500}.file-size{opacity:.7;font-size:12px}.file-download{cursor:pointer;font-size:20px;text-decoration:none;transition:transform .2s}.file-download:hover{transform:scale(1.1)}.message-content:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;color:#6c757d;padding:40px 20px}.empty-icon{opacity:.5;margin-bottom:16px;font-size:48px}.empty-text{margin-bottom:8px;font-size:18px;font-weight:500}.empty-subtext{opacity:.8;font-size:14px}@media (width<=768px){.message{padding:0 15px}.message-content{max-width:85%;padding:10px 14px;font-size:14px}.message.user .message-content{margin-left:40px}.message.ai .message-content,.message.bot .message-content{margin-right:40px}}@media (width<=480px){.message{padding:0 10px}.message-content{max-width:90%;margin-left:20px!important;margin-right:20px!important}}.progress-tracker{background:#f8f9fa;border-radius:8px;margin:8px 0;font-size:13px;transition:all .3s;overflow:hidden}.progress-tracker.expanded{max-height:200px}.progress-tracker.completed{background:#9bff9b1a}.progress-header{cursor:pointer;background:#00000005;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:8px 12px;transition:all .2s;display:flex}.progress-header:hover{background:#0000000d}.progress-tracker.expanded .progress-header{border-bottom-color:#e9ecef}.progress-title{color:#495057;align-items:center;gap:8px;font-weight:500;display:flex}.status-icon{border-radius:50%;width:12px;height:12px;display:inline-block;position:relative}.status-icon.completed{color:#fff;text-align:center;background:#28a745;font-size:8px;line-height:12px}.status-icon.in-progress{background:#007bff;animation:1.5s infinite pulse}.spinner{border:2px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin;display:inline-block}.progress-toggle{color:#6c757d;font-size:14px;transition:transform .2s}.progress-tracker.expanded .progress-toggle{transform:rotate(180deg)}.progress-error{color:#721c24;background:#f8d7da;border-top:1px solid #f5c6cb;padding:8px 12px;font-size:12px}.progress-content{max-height:0;transition:max-height .3s;overflow:hidden}.progress-tracker.expanded .progress-content{max-height:150px;overflow-y:auto}.progress-line{color:#6c757d;border-bottom:1px solid #0000000d;padding:4px 12px;line-height:1.3}.progress-line:last-child{border-bottom:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message.ai .progress-tracker,.message.bot .progress-tracker{margin-bottom:8px}@media (width<=768px){.progress-tracker{font-size:12px}.progress-header{padding:6px 10px}.progress-line{padding:3px 10px}}.progress-icon{width:20px;height:20px;margin-right:8px;display:inline-block}@media (width<=768px){.progress-icon{width:16px;height:16px;margin-right:6px}}.chat-input{align-items:flex-end;gap:10px;display:flex}.input-main{flex:1;position:relative}.character-counter{color:#999;font-size:12px;position:absolute;bottom:10px;right:10px}.character-counter.over-limit{color:#ff4d4f}.input-actions{align-items:center;gap:8px;display:flex}.loading-spinner{animation:1s linear infinite spin;display:inline-block}.form-actions,.form-send-actions{justify-content:flex-end;align-items:center;margin-top:10px;padding:10px 0;display:flex}.dynamic-form-container,.chat-input{opacity:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out;transform:translateY(0)}.chat-input-container>*{transition:opacity .2s ease-in-out}.message{width:auto;max-width:90%;margin-bottom:15px}.message.user{margin-left:auto}.message.ai{margin-right:auto}.message-content{width:100%;font-family:Arial,sans-serif;font-size:14px}.form-result-table{border-collapse:collapse;width:100%;font-family:inherit}.form-result-table th{text-align:left;border-bottom:1px solid #e0e0e0;padding:8px;font-family:Arial,sans-serif;font-size:14px;font-weight:600}.form-result-table td{border-bottom:1px solid #f0f0f0;padding:8px;font-family:Arial,sans-serif;font-size:14px}.form-result-table td:first-child{width:35%;font-weight:500}.form-result-table input.form-input,.form-result-table textarea.form-textarea,.form-result-table select.form-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:6px;font-family:Arial,sans-serif;font-size:14px}.form-result-table textarea.form-textarea{resize:vertical;min-height:60px}.form-result-table .field-label{vertical-align:top;border-bottom:1px solid #f0f0f0;width:35%;padding:8px;font-weight:500}.form-result-table .field-value{vertical-align:top;border-bottom:1px solid #f0f0f0;padding:8px}.toggle-switch{width:50px;height:24px;display:inline-block;position:relative}.toggle-input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .4s;position:absolute;inset:0}.toggle-knob{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}.material-symbols-outlined{vertical-align:middle;margin-right:8px;font-size:20px}.form-header{border-bottom:1px solid #e0e0e0;align-items:center;padding:8px;display:flex}.message-text{white-space:pre-wrap;word-break:break-word;font-family:Arial,sans-serif;font-size:14px}.form-error{color:red;padding:10px;font-family:Arial,sans-serif;font-size:14px}.message .dynamic-form-container{width:100%;max-width:none}.message .dynamic-form,.message .form-fields{width:100%}.message .form-field{grid-template-columns:30% 70%;align-items:start;gap:12px;width:100%;display:grid}.message .form-field input,.message .form-field select,.message .form-field textarea{box-sizing:border-box;width:100%}.message .form-field.radio-field{width:100%;display:block}.message .form-field.radio-field .field-label{width:100%;margin-bottom:8px;display:block}.dynamic-form{padding:15px}.form-header{border-bottom:1px solid #e0e0e0;align-items:center;margin-bottom:15px;padding-bottom:10px;display:flex}.form-fields{grid-template-columns:1fr;gap:15px;margin-bottom:20px;display:grid}.form-field{margin-bottom:5px}.form-field input,.form-field select,.form-field textarea{background-color:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 12px;font-size:.9rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 0 2px #4a90e233}.form-field textarea{resize:vertical;min-height:80px}.checkbox-container{align-items:center;display:flex}.checkbox-label{cursor:pointer;align-items:center;display:flex}.checkbox-label input[type=checkbox]{width:auto;margin-right:8px}.field-description{color:#777;margin-top:5px;font-size:.8rem;line-height:1.4;display:block}.form-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.form-toggle-btn{cursor:pointer;color:#555;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px;display:flex}.form-toggle-btn:hover{background-color:#f0f0f0}.form-toggle-btn.active{color:#4a90e2;background-color:#4a90e21a}.required{color:#e53935;margin-left:2px}.form-readonly{padding:10px 0}.form-field-readonly{border-bottom:1px solid #eee;margin-bottom:8px;padding-bottom:8px;display:flex}.field-value{word-break:break-word;flex:1}.text-value{white-space:pre-wrap}.form-actions .loading-spinner{animation:1s linear infinite spin;display:inline-block}.form-actions.with-send-button{justify-content:flex-end;align-items:center;display:flex}.user-form .form-field{margin-bottom:6px!important}.user-form .field-label{padding:2px 0!important;font-weight:500!important}.user-form .field-value{padding:2px 0!important}.read-only .form-field:hover{background-color:#0000}.dynamic-form.read-only .form-fields{border-top:1px solid #0000000d;margin-top:10px;padding-top:8px}.message-form .form-title{font-size:1em!important}.message-form .form-description{font-size:.85em!important}.form-readonly{width:100%}.form-readonly .field-label{font-weight:500}.form-readonly .field-value{word-break:break-word}.form-readonly .text-value{white-space:pre-wrap}.message-text{white-space:pre-wrap;word-break:break-word}.message-content{max-width:100%}.sidebar-language-section[data-v-d9b7e3]{margin-bottom:15px;padding:10px 15px}#language-selector-container[data-v-d9b7e3]{background-color:#ffffff1a;border-radius:5px;flex-direction:column;padding:15px;display:flex}#language-selector-container label[data-v-d9b7e3]{color:var(--sidebar-color);margin-bottom:5px;font-size:.9rem;font-weight:500}.language-selector[data-v-d9b7e3]{cursor:pointer;width:100%;font-size:.9rem;transition:all .2s}.language-selector[data-v-d9b7e3]:hover{background-color:#0000004d}.language-selector[data-v-d9b7e3]:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ffffff4d}.language-selector option[data-v-d9b7e3]{color:#fff;background-color:#2c3e50;padding:8px}.select-wrapper[data-v-d9b7e3]{position:relative}.language-select[data-v-d9b7e3]{color:var(--sidebar-color);cursor:pointer;background-color:#0003;border:1px solid #fff3;border-radius:4px;width:100%;padding:8px 12px;font-size:.9rem;transition:all .2s}.language-select[data-v-d9b7e3]:hover{background-color:#0000004d}.language-select[data-v-d9b7e3]:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ffffff4d}.language-select option[data-v-d9b7e3]{color:#fff;background-color:#2c3e50;padding:8px}@media (width<=768px){.language-selector[data-v-d9b7e3]{margin:0}.language-selector label[data-v-d9b7e3]{display:none}.language-select[data-v-d9b7e3]{min-width:120px;margin:0;padding:6px 10px;font-size:.85rem}}.form-field[data-v-83d729]{grid-template-columns:35% 65%;align-items:start;gap:10px;margin-bottom:15px;display:grid}.form-field.radio-field[data-v-83d729]{display:block}.form-field.radio-field .field-label[data-v-83d729]{margin-bottom:8px;font-weight:500;display:block}.form-field.radio-field .field-context[data-v-83d729]{margin-bottom:12px;margin-left:0}.field-label[data-v-83d729]{margin-right:10px;font-weight:500;position:relative}.tooltip-label[data-v-83d729]{cursor:help}.tooltip-content[data-v-83d729]{visibility:hidden;opacity:0;z-index:1000;color:#fff;text-align:left;white-space:normal;background-color:#333;border-radius:6px;max-width:300px;padding:8px 12px;font-size:.8rem;font-weight:400;line-height:1.4;transition:opacity .3s,visibility .3s;position:absolute;bottom:125%;left:0;box-shadow:0 2px 8px #00000026}.tooltip-content[data-v-83d729]:after{content:"";border:5px solid #0000;border-top-color:#333;margin-left:-5px;position:absolute;top:100%;left:20px}.tooltip-label:hover .tooltip-content[data-v-83d729]{visibility:visible;opacity:1}.form-field input[data-v-83d729]:focus,.form-field select[data-v-83d729]:focus,.form-field textarea[data-v-83d729]:focus{outline:none;box-shadow:0 0 0 2px #4a90e233;border-color:#4a90e2!important}.radio-group[data-v-83d729]{flex-direction:column;gap:8px;margin-top:4px;display:flex}.radio-label[data-v-8b0edd][data-v-83d729]{justify-content:flex-start;align-items:center;gap:12px;width:100%;display:flex}.radio-label input[type=radio][data-v-83d729]{vertical-align:middle;flex:0 0 20px;width:13px;height:13px;margin:0}.radio-label span[data-v-83d729]{word-break:break-word;flex:1;margin-left:12px}.checkbox-container[data-v-83d729]{justify-content:flex-start;align-items:center;display:flex}.checkbox-label[data-v-83d729]{cursor:pointer;text-align:left;align-items:center;display:flex}.checkbox-text[data-v-83d729]{font-size:.9rem}.field-context[data-v-83d729]{text-align:left;border-radius:4px;margin-bottom:8px;padding:8px;font-size:.9rem}.required[data-v-83d729]{color:#d93025;margin-left:2px}.consent-text[data-v-83d729]{line-height:1.4}.consent-link[data-v-83d729]{color:#007bff;cursor:pointer;text-decoration:underline;transition:color .2s}.consent-link[data-v-83d729]:hover{color:#0056b3;text-decoration:underline}.consent-link[data-v-83d729]:focus{outline-offset:2px;border-radius:2px;outline:2px solid #007bff}@media (width<=768px){.form-field[data-v-83d729]{grid-template-columns:none;display:block}.form-field .field-label[data-v-83d729]{margin-bottom:8px;display:block}.tooltip-content[data-v-83d729]{max-width:none;position:fixed;inset:50% 10px auto;transform:translateY(-50%)}}.dynamic-form-container[data-v-a5aafb]{margin-bottom:15px;overflow:hidden}.dynamic-form[data-v-a5aafb]{background:var(--human-message-background);border-radius:8px;padding:15px;box-shadow:0 2px 15px #0000001a}.form-header[data-v-a5aafb]{border-bottom:1px solid var(--human-message-text-color);align-items:center;margin-bottom:15px;padding-bottom:10px;display:flex}.dynamic-form.readonly .form-header[data-v-a5aafb]{border-bottom:1px solid #777}.form-icon[data-v-a5aafb]{width:24px;height:24px;color:var(--human-message-text-color);justify-content:center;align-items:center;margin-right:10px;display:flex}.dynamic-form.readonly .form-icon[data-v-a5aafb]{color:#777}.form-title[data-v-a5aafb]{color:var(--human-message-text-color);font-size:1.2rem;font-weight:600}.dynamic-form.readonly .form-title[data-v-a5aafb]{color:#777}.form-fields[data-v-a5aafb]{grid-template-columns:1fr;gap:15px;margin-bottom:20px;display:grid}.form-field[data-v-a5aafb]{margin-bottom:5px}.form-field label[data-v-a5aafb]{margin-bottom:6px;font-size:.9rem;font-weight:500;display:block}.form-field input[data-v-a5aafb],.form-field select[data-v-a5aafb],.form-field textarea[data-v-a5aafb]{background-color:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 12px;font-size:.9rem}.form-field input[data-v-a5aafb]:focus,.form-field select[data-v-a5aafb]:focus,.form-field textarea[data-v-a5aafb]:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 0 2px #4a90e233}.form-field textarea[data-v-a5aafb]{resize:vertical;min-height:80px}.checkbox-container[data-v-a5aafb]{align-items:center;display:flex}.checkbox-label[data-v-a5aafb]{cursor:pointer;align-items:center;display:flex}.checkbox-label input[type=checkbox][data-v-a5aafb]{width:auto;margin-right:8px}.checkbox-text[data-v-a5aafb]{font-size:.9rem}.field-description[data-v-a5aafb]{color:#777;margin-top:5px;font-size:.8rem;line-height:1.4;display:block}.form-actions[data-v-a5aafb]{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.btn[data-v-a5aafb]{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:.9rem;transition:background-color .2s}.btn-primary[data-v-a5aafb]{color:#fff;background-color:#4a90e2}.btn-primary[data-v-a5aafb]:hover:not(:disabled){background-color:#357abd}.btn-secondary[data-v-a5aafb]{color:#fff;background-color:#6c757d}.btn-secondary[data-v-a5aafb]:hover:not(:disabled){background-color:#545b62}.btn[data-v-a5aafb]:disabled{opacity:.6;cursor:not-allowed}.form-toggle-btn[data-v-a5aafb]{cursor:pointer;color:#555;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px;display:flex}.form-toggle-btn[data-v-a5aafb]:hover{background-color:#f0f0f0}.form-toggle-btn.active[data-v-a5aafb]{color:#4a90e2;background-color:#4a90e21a}.required[data-v-a5aafb]{color:#e53935;margin-left:2px}.form-readonly[data-v-a5aafb]{padding:10px 0}.form-field-readonly[data-v-a5aafb]{margin-bottom:8px;padding-bottom:8px;display:flex}.dynamic-form.readonly .form-field-readonly[data-v-a5aafb]{border-bottom:1px solid #777}.field-label[data-v-a5aafb]{flex:0 0 30%;padding-right:10px;font-weight:500}.field-value[data-v-a5aafb]{word-break:break-word;flex:1}.text-value[data-v-a5aafb]{white-space:pre-wrap}.boolean-icon[data-v-a5aafb]{vertical-align:middle;font-size:20px}.boolean-true[data-v-a5aafb]{color:#4caf50}.boolean-false[data-v-a5aafb]{color:#f44336}.field-value.boolean-value[data-v-a5aafb]{align-items:center;display:flex}.send-btn[data-v-a5aafb]{background-color:var(--human-message-background);width:40px;height:40px;color:var(--human-message-text-color);border:2px solid var(--human-message-text-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.send-btn[data-v-a5aafb]:hover:not(:disabled){background-color:var(--human-message-background)}.send-btn[data-v-a5aafb]:disabled{cursor:not-allowed;background-color:#ccc}.loading-spinner[data-v-a5aafb]{animation:1s linear infinite spin-a5aafb;display:inline-block}@keyframes spin-a5aafb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-actions.with-send-button[data-v-a5aafb]{justify-content:flex-end;align-items:center;display:flex}.progress-tracker[data-v-5f4bda]{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin:10px 0;font-family:Arial,sans-serif;font-size:14px;transition:all .3s}.progress-tracker.expanded[data-v-5f4bda]{box-shadow:0 2px 8px #0000001a}.progress-tracker.completed[data-v-5f4bda]{background-color:#f1f8e9;border-color:#4caf50}.progress-tracker.error[data-v-5f4bda]{background-color:#ffebee;border-color:#f44336}.progress-header[data-v-5f4bda]{cursor:pointer;background-color:#fff;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:12px 15px;transition:background-color .2s;display:flex}.progress-header[data-v-5f4bda]:hover{background-color:#f5f5f5}.progress-title[data-v-5f4bda]{color:#333;align-items:center;font-weight:500;display:flex}.status-icon[data-v-5f4bda]{margin-right:8px;font-size:16px;font-weight:700}.status-icon.completed[data-v-5f4bda]{color:#4caf50}.status-icon.error[data-v-5f4bda]{color:#f44336}.status-icon.in-progress[data-v-5f4bda]{color:#2196f3}.spinner[data-v-5f4bda]{border:2px solid #f3f3f3;border-top-color:#2196f3;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:1s linear infinite spin-5f4bda;display:inline-block}@keyframes spin-5f4bda{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-toggle[data-v-5f4bda]{color:#666;font-size:12px;transition:transform .2s}.progress-tracker.expanded .progress-toggle[data-v-5f4bda]{transform:rotate(180deg)}.progress-error[data-v-5f4bda]{color:#c62828;background-color:#ffcdd2;border-top:1px solid #e0e0e0;padding:10px 15px;font-size:13px}.progress-content[data-v-5f4bda]{background-color:#fff;border-radius:0 0 8px 8px;max-height:200px;padding:10px 15px;transition:max-height .3s;overflow-y:auto}.progress-content.single-line[data-v-5f4bda]{max-height:40px;overflow:hidden}.progress-line[data-v-5f4bda]{color:#555;word-break:break-word;padding:2px 0;font-size:13px;line-height:1.4}.progress-line[data-v-5f4bda]:last-child{color:#333;font-weight:500}.progress-content[data-v-5f4bda]::-webkit-scrollbar{width:4px}.progress-content[data-v-5f4bda]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.progress-content[data-v-5f4bda]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.progress-content[data-v-5f4bda]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (width<=768px){.progress-header[data-v-5f4bda]{padding:10px 12px}.progress-content[data-v-5f4bda]{max-height:150px;padding:8px 12px}.progress-content.single-line[data-v-5f4bda]{max-height:35px}.progress-line[data-v-5f4bda]{font-size:12px}}.progress-line[data-v-5f4bda]{animation:.3s ease-in fadeIn-5f4bda}@keyframes fadeIn-5f4bda{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.progress-icon-only[data-v-5f4bda]{justify-content:center;padding:10px;display:flex}.working-animation-only[data-v-5f4bda]{width:50px;height:50px}.progress-error-only[data-v-5f4bda]{color:#c62828;background-color:#ffcdd2;border:1px solid #f44336;border-radius:8px;margin:10px 0;padding:10px 15px;font-size:13px}.progress-tracker.input-area .progress-title[data-v-5f4bda]{justify-content:flex-start}.message[data-v-e65c19]{width:auto;max-width:90%;margin-bottom:15px}.message.user[data-v-e65c19]{margin-left:auto}.message.ai[data-v-e65c19]{margin-right:auto}.message.user.has-form[data-v-e65c19]{width:90%;max-width:none}.message.ai.temporarily-at-bottom[data-v-e65c19]{background-color:var(--ai-message-background);color:var(--ai-message-text-color);opacity:.9;border-radius:8px;margin:8px 0;padding:8px}.message.sticky-area .message-content[data-v-e65c19]{background:var(--ai-message-background);color:var(--ai-message-text-color)}.message.sticky-area.user .message-content[data-v-e65c19],.message.sticky-area.ai .message-content[data-v-e65c19]{border:1px solid var(--ai-message-text-color);border-radius:8px;padding:12px;background:var(--ai-message-background)!important;color:var(--ai-message-text-color)!important}.message.input-area .message-content[data-v-e65c19]{background-color:var(--ai-message-background);color:var(--ai-message-text-color);border-radius:8px;padding:12px}.message-content[data-v-e65c19]{width:100%;font-family:Arial,sans-serif;font-size:14px}.ai-message-logo[data-v-e65c19]{background-color:var(--ai-message-background);z-index:10;pointer-events:none;border-radius:50%;width:36px;height:36px;padding:2px;position:absolute;top:-20px;left:-20px;box-shadow:0 2px 6px #00000026}.message.ai .message-content[data-v-e65c19]{position:relative}.form-display[data-v-e65c19]{color:var(--human-message-text-color);margin:15px 0;padding:15px;font-family:inherit}.form-result-table[data-v-e65c19]{border-collapse:collapse;width:100%;font-family:inherit}.form-result-table th[data-v-e65c19]{text-align:left;border-bottom:1px solid #e0e0e0;padding:8px;font-family:Arial,sans-serif;font-size:14px;font-weight:600}.form-result-table td[data-v-e65c19]{border-bottom:1px solid #f0f0f0;padding:8px;font-family:Arial,sans-serif;font-size:14px}.form-result-table td[data-v-e65c19]:first-child{width:35%;font-weight:500}.form-result-table input.form-input[data-v-e65c19],.form-result-table textarea.form-textarea[data-v-e65c19],.form-result-table select.form-select[data-v-e65c19]{border:1px solid var(--human-message-text-color);background-color:var(--human-message-background);width:100%;color:var(--human-message-text-color);border-radius:4px;padding:6px;font-family:Arial,sans-serif;font-size:14px}.form-result-table textarea.form-textarea[data-v-e65c19]{resize:vertical;min-height:60px}.form-result-table .field-label[data-v-e65c19]{vertical-align:top;border-bottom:1px solid #f0f0f0;width:35%;padding:8px;font-weight:500}.form-result-table .field-value[data-v-e65c19]{vertical-align:top;border-bottom:1px solid #f0f0f0;padding:8px}.toggle-switch[data-v-e65c19]{width:50px;height:24px;display:inline-block;position:relative}.toggle-input[data-v-e65c19]{opacity:0;width:0;height:0}.toggle-slider[data-v-e65c19]{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .4s;position:absolute;inset:0}.toggle-knob[data-v-e65c19]{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}.material-symbols-outlined[data-v-e65c19]{vertical-align:middle;margin-right:8px;font-size:20px}.form-header[data-v-e65c19]{border-bottom:1px solid #e0e0e0;align-items:center;padding:8px;display:flex}.message-text[data-v-e65c19]{white-space:pre-wrap;word-break:break-word;font-family:Arial,sans-serif;font-size:14px}.form-error[data-v-e65c19]{color:red;padding:10px;font-family:Arial,sans-serif;font-size:14px}.error-content[data-v-e65c19]{background-color:#ffebee;border:1px solid #f44336;border-radius:4px;padding:10px}.retry-btn[data-v-e65c19]{color:#fff;cursor:pointer;background-color:#f44336;border:none;border-radius:4px;margin-top:10px;padding:8px 16px;font-size:14px}.retry-btn[data-v-e65c19]:hover{background-color:#d32f2f}@media (width<=768px){.message[data-v-e65c19]{max-width:95%}.message.user.has-form[data-v-e65c19]{width:95%}.form-result-table td[data-v-e65c19]:first-child{width:40%}}.chat-input-container[data-v-490065]{background-color:var(--active-background-color);width:100%;color:var(--human-message-text-color);border-top:1px solid #e0e0e0;padding:20px;font-family:Arial,sans-serif;font-size:14px}.chat-input[data-v-490065]{align-items:flex-end;gap:10px;display:flex}.input-main[data-v-490065]{flex:1;margin-right:0;position:relative}.message-input[data-v-490065]{resize:none;background-color:var(--human-message-background);width:100%;min-height:40px;color:var(--human-message-text-color);box-sizing:border-box;border:1px solid #ddd;border-radius:20px;outline:none;padding:10px 60px 10px 15px;font-family:Arial,sans-serif;font-size:14px;transition:border-color .2s}.character-counter[data-v-490065]{color:var(--human-message-text-color);opacity:.7;pointer-events:none;font-size:12px;position:absolute;bottom:12px;right:15px}.character-counter.over-limit[data-v-490065]{color:#ff4d4f;font-weight:700}.input-actions[data-v-490065]{flex-shrink:0;align-items:center;gap:8px;display:flex}.send-btn[data-v-490065]{background-color:var(--human-message-background);width:40px;height:40px;color:var(--human-message-text-color);border:2px solid var(--human-message-text-color);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.send-btn[data-v-490065]:hover:not(:disabled){background-color:var(--human-message-background)}.send-btn[data-v-490065]:disabled{cursor:not-allowed;background-color:#ccc}.loading-spinner[data-v-490065]{animation:1s linear infinite spin-490065;display:inline-block}@keyframes spin-490065{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.active-ai-message-area[data-v-490065]{background-color:var(--ai-message-background);color:var(--ai-message-text-color);border-radius:8px;margin-bottom:15px;padding:12px;font-family:Arial,sans-serif;font-size:14px;box-shadow:0 2px 15px #0000001a}.active-ai-message-area .message[data-v-490065]{max-width:100%;margin-bottom:0}.active-ai-message-area .message-content[data-v-490065]{background-color:#0000;border:none;padding:0}.typing-indicator[data-v-a78025]{background-color:#f0f0f0;border-radius:18px;align-items:center;width:fit-content;max-width:80px;margin:10px 0;padding:10px 15px;display:flex}.typing-dot[data-v-a78025]{background-color:#999;border-radius:50%;width:8px;height:8px;margin:0 2px;animation:1.4s ease-in-out infinite typing-bounce-a78025}.typing-dot[data-v-a78025]:first-child{animation-delay:-.32s}.typing-dot[data-v-a78025]:nth-child(2){animation-delay:-.16s}.typing-dot[data-v-a78025]:nth-child(3){animation-delay:0s}.typing-text[data-v-a78025]{color:#666;margin-left:10px;font-size:.9rem;font-style:italic}@keyframes typing-bounce-a78025{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes typing-pulse-a78025{0%,60%,to{transform:initial;opacity:.4}30%{opacity:1;transform:scale(1.2)}}@media (width<=768px){.typing-indicator[data-v-a78025]{margin:8px 0;padding:8px 12px}.typing-dot[data-v-a78025]{width:6px;height:6px}.typing-text[data-v-a78025]{margin-left:8px;font-size:.8rem}}@media (prefers-color-scheme:dark){.typing-indicator[data-v-a78025]{background-color:#2a2a2a}.typing-dot[data-v-a78025]{background-color:#ccc}.typing-text[data-v-a78025]{color:#aaa}}@media (prefers-contrast:high){.typing-indicator[data-v-a78025]{border:1px solid #333}.typing-dot[data-v-a78025]{background-color:#000}.typing-text[data-v-a78025]{color:#000}}@media (prefers-reduced-motion:reduce){.typing-dot[data-v-a78025]{opacity:.7;animation:none}.typing-indicator[data-v-a78025]{opacity:.8}}.message-history-container[data-v-be92bb]{flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-messages[data-v-be92bb]{scroll-behavior:smooth;flex-direction:column;flex:1;justify-content:flex-end;min-height:100%;padding:10px;display:flex;overflow-y:auto}.messages-wrapper[data-v-be92bb]{flex-direction:column;gap:10px;display:flex}.load-more-indicator[data-v-be92bb]{text-align:center;color:#666;padding:10px;font-size:.9rem}.empty-state[data-v-be92bb]{text-align:center;color:#666;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 20px;display:flex}.empty-icon[data-v-be92bb]{opacity:.5;margin-bottom:16px;font-size:3rem}.empty-text[data-v-be92bb]{color:#333;margin-bottom:8px;font-size:1.2rem;font-weight:500}.empty-subtext[data-v-be92bb]{color:#666;max-width:300px;font-size:.9rem;line-height:1.4}.chat-messages[data-v-be92bb]::-webkit-scrollbar{width:6px}.chat-messages[data-v-be92bb]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.chat-messages[data-v-be92bb]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.chat-messages[data-v-be92bb]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (width<=768px){.chat-messages[data-v-be92bb]{padding:8px}.empty-state[data-v-be92bb]{padding:20px 16px}.empty-icon[data-v-be92bb]{font-size:2.5rem}.empty-text[data-v-be92bb]{font-size:1.1rem}}.form-message[data-v-873b23]{background-color:#f5f5f5b3;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;padding:12px}.form-message-header[data-v-873b23]{border-bottom:1px solid #e0e0e0;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.form-message-icon[data-v-873b23]{color:#555;margin-right:8px;font-size:18px}.form-message-title[data-v-873b23]{color:#333;font-size:1em;font-weight:600}.form-message-fields[data-v-873b23]{flex-direction:column;gap:8px;display:flex}.form-message-field[data-v-873b23]{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:flex-start;padding:4px 0;display:flex}.form-message-field[data-v-873b23]:last-child{border-bottom:none}.field-message-label[data-v-873b23]{color:#555;word-break:break-word;flex:0 0 40%;padding-right:10px;font-weight:500}.field-message-value[data-v-873b23]{color:#333;word-break:break-word;text-align:right;flex:1}.field-message-value.text-value[data-v-873b23]{white-space:pre-wrap;text-align:left}.message.user .form-message[data-v-873b23]{background-color:#ffffff1a}.message.ai .form-message[data-v-873b23]{background-color:#f5f5fab3}.user-form .form-field[data-v-873b23]{margin-bottom:6px!important}.user-form .field-label[data-v-873b23]{color:#555!important;padding:2px 0!important;font-weight:500!important}.user-form .field-value[data-v-873b23]{padding:2px 0!important}.read-only .form-field[data-v-873b23]:hover{background-color:#0000}.dynamic-form.read-only .form-fields[data-v-873b23]{border-top:1px solid #0000000d;margin-top:10px;padding-top:8px}.message-form .form-title[data-v-873b23]{font-size:1em!important}.message-form .form-description[data-v-873b23]{font-size:.85em!important}.form-readonly[data-v-873b23]{width:100%}.form-readonly .field-label[data-v-873b23]{color:#555;font-weight:500}.form-readonly .field-value[data-v-873b23]{word-break:break-word}.form-readonly .text-value[data-v-873b23]{white-space:pre-wrap}.message-text[data-v-873b23]{white-space:pre-wrap;word-break:break-word}.message-content[data-v-873b23]{max-width:100%}@media (width<=768px){.form-message-field[data-v-873b23]{flex-direction:column;align-items:flex-start;gap:4px}.field-message-label[data-v-873b23]{flex:none;padding-right:0}.field-message-value[data-v-873b23]{text-align:left}.form-message[data-v-873b23]{padding:10px}.form-message-title[data-v-873b23]{font-size:.9em}}@media (prefers-color-scheme:dark){.form-message[data-v-873b23]{background-color:#282828b3;border-color:#555}.form-message-header[data-v-873b23]{border-bottom-color:#555}.form-message-title[data-v-873b23]{color:#e0e0e0}.field-message-label[data-v-873b23]{color:#ccc}.field-message-value[data-v-873b23]{color:#e0e0e0}.form-message-field[data-v-873b23]{border-bottom-color:#ffffff1a}}@media (prefers-contrast:more){.form-message[data-v-873b23]{background-color:#fff;border:2px solid #000}.form-message-title[data-v-873b23],.field-message-label[data-v-873b23],.field-message-value[data-v-873b23]{color:#000}.form-message-header[data-v-873b23]{border-bottom:2px solid #000}}.sidebar-logo[data-v-a176c5]{justify-content:center;align-items:center;padding:20px 15px;display:flex}.logo-image[data-v-a176c5]{object-fit:contain;max-width:100%;max-height:100%}.logo-placeholder[data-v-a176c5]{background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.2rem;font-weight:700;display:flex}@media (width<=768px){.sidebar-logo[data-v-a176c5]{padding:5px 0}.logo-image[data-v-a176c5]{max-width:120px;max-height:40px}.logo-placeholder[data-v-a176c5]{width:40px;height:40px;font-size:1rem}}.sidebar-make-name[data-v-4a3e46]{text-align:center;padding:15px}.make-name-text[data-v-4a3e46]{color:var(--sidebar-color);margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.make-subtitle[data-v-4a3e46]{color:#fffc;margin-top:5px;font-size:.85rem}.sidebar-explanation[data-v-313065]{padding:15px;overflow-y:auto}.explanation-loading[data-v-313065]{color:var(--markdown-text-color);text-align:center;padding:20px;font-style:italic}.explanation-content[data-v-313065]{color:var(--markdown-text-color);font-size:.9rem;line-height:1.5}.explanation-content[data-v-313065] h1,.explanation-content[data-v-313065] h2,.explanation-content[data-v-313065] h3{color:var(--markdown-text-color);margin-top:1rem;margin-bottom:.5rem}.explanation-content[data-v-313065] p{margin-bottom:1rem}.explanation-content[data-v-313065] strong{color:var(--primary-color);font-weight:600}.sidebar[data-v-a00f3a]{background:var(--sidebar-background);height:100%;color:var(--sidebar-color);flex-direction:column;width:300px;min-width:250px;display:flex}@media (width<=768px){.sidebar[data-v-a00f3a]{width:100%;min-width:unset}}.mobile-header[data-v-1e6eea]{background:var(--sidebar-background);color:var(--sidebar-color);border-bottom:1px solid #0000001a;justify-content:space-between;align-items:center;min-height:60px;padding:10px 15px;display:flex}.mobile-header[data-v-1e6eea] .mobile-logo{flex-shrink:0}.mobile-header[data-v-1e6eea] .mobile-logo .sidebar-logo{margin-right:15px;padding:0}.mobile-header[data-v-1e6eea] .mobile-logo .logo-image{max-width:120px;max-height:40px}.mobile-header[data-v-1e6eea] .mobile-logo .logo-placeholder{width:40px;height:40px;font-size:1rem}.mobile-header[data-v-1e6eea] .mobile-language-selector{flex-shrink:0;min-width:140px}.mobile-header[data-v-1e6eea] .mobile-language-selector .language-selector{margin:0}.mobile-header[data-v-1e6eea] .mobile-language-selector label{display:none}.mobile-header[data-v-1e6eea] .mobile-language-selector .language-select{min-width:120px;margin:0;padding:6px 10px;font-size:.85rem}@media (width>=769px){.mobile-header[data-v-1e6eea]{display:none}}.modal-overlay[data-v-f4e5cd]{z-index:1000;box-sizing:border-box;background-color:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-dialog[data-v-f4e5cd]{background:#fff;border-radius:8px;flex-direction:column;width:80vw;height:min(80vh,100vh - 120px);max-height:calc(100vh - 120px);display:flex;overflow:hidden;box-shadow:0 4px 20px #00000026}.modal-header[data-v-f4e5cd]{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title[data-v-f4e5cd]{color:#333;margin:0;font-size:18px;font-weight:600}.modal-close[data-v-f4e5cd]{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s,color .2s;display:flex}.modal-close[data-v-f4e5cd]:hover{color:#333;background-color:#e9ecef}.modal-close .material-icons[data-v-f4e5cd]{font-size:20px}.modal-body[data-v-f4e5cd]{flex:1;min-height:200px;padding:20px;overflow-y:auto}.loading-container[data-v-f4e5cd]{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.loading-spinner[data-v-f4e5cd]{border:3px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin-f4e5cd}@keyframes spin-f4e5cd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container[data-v-f4e5cd]{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.error-icon[data-v-f4e5cd]{margin-bottom:16px}.error-icon .material-icons[data-v-f4e5cd]{color:#dc3545;font-size:48px}.error-container h5[data-v-f4e5cd]{color:#dc3545;margin:0 0 12px;font-weight:600}.error-container p[data-v-f4e5cd]{color:#666;margin:0 0 20px}.content-container[data-v-f4e5cd]{line-height:1.6}.content-body[data-v-f4e5cd]{color:#333;font-size:14px}.content-body h1[data-v-f4e5cd],.content-body h2[data-v-f4e5cd],.content-body h3[data-v-f4e5cd]{color:#333;margin-top:24px;margin-bottom:12px}.content-body h1[data-v-f4e5cd]{border-bottom:2px solid #e0e0e0;padding-bottom:8px;font-size:24px}.content-body h2[data-v-f4e5cd]{font-size:20px}.content-body h3[data-v-f4e5cd]{font-size:16px}.content-body p[data-v-f4e5cd]{margin-bottom:12px}.content-body ul[data-v-f4e5cd]{margin:12px 0;padding-left:20px}.content-body li[data-v-f4e5cd]{margin-bottom:4px}.content-body strong[data-v-f4e5cd]{font-weight:600}.content-version[data-v-f4e5cd]{color:#666;text-align:right;border-top:1px solid #e0e0e0;margin-top:20px;padding-top:12px;font-size:12px}.empty-container[data-v-f4e5cd]{text-align:center;color:#666;justify-content:center;align-items:center;padding:40px 20px;display:flex}.modal-footer[data-v-f4e5cd]{background-color:#f8f9fa;border-top:1px solid #e0e0e0;justify-content:flex-end;padding:16px 20px;display:flex}.btn[data-v-f4e5cd]{cursor:pointer;text-align:center;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-block}.btn-primary[data-v-f4e5cd]{color:#fff;background-color:#007bff}.btn-primary[data-v-f4e5cd]:hover{background-color:#0056b3}.btn-secondary[data-v-f4e5cd]{color:#fff;background-color:#6c757d}.btn-secondary[data-v-f4e5cd]:hover{background-color:#545b62}@media (width<=768px){.modal-overlay[data-v-f4e5cd]{padding:10px;bottom:80px}.modal-dialog[data-v-f4e5cd]{width:95vw;height:min(95vh,100vh - 60px);max-height:calc(100vh - 60px)}.modal-header[data-v-f4e5cd],.modal-body[data-v-f4e5cd],.modal-footer[data-v-f4e5cd]{padding:12px 16px}.modal-title[data-v-f4e5cd]{font-size:16px}}.chat-app-container[data-v-a30c6c]{flex-direction:column;width:100%;height:100vh;display:flex}.chat-messages-area[data-v-a30c6c]{flex:1;overflow:hidden}.chat-input-area[data-v-a30c6c]{flex-shrink:0}@media (width<=768px){.chat-app-container[data-v-a30c6c]{height:100vh}} \ No newline at end of file diff --git a/eveai_chat_client/static/dist/chat-client.js b/eveai_chat_client/static/dist/chat-client.js new file mode 100644 index 0000000..1b7cce7 --- /dev/null +++ b/eveai_chat_client/static/dist/chat-client.js @@ -0,0 +1,86 @@ +!function(){let e,t,n,r;function i(e){Object.defineProperty(e,"__esModule",{value:!0,configurable:!0})}function o(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},l={},a={},c=s.parcelRequire94c2;null==c&&((c=function(e){if(e in l)return l[e].exports;if(e in a){var t=a[e];delete a[e];var n={id:e,exports:{}};return l[e]=n,t.call(n.exports,n,n.exports),n.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){a[e]=t},s.parcelRequire94c2=c);var u=c.register;u("lfk1t",function(e,t){i(e.exports),o(e.exports,"default",function(){return r});var n=c("lfo9i"),r={name:"LanguageSelector",setup(){try{let e=(0,n.useLanguageProvider)();return{providerLanguage:e.currentLanguage,providerSetLanguage:e.setLanguage}}catch{return{}}},props:{initialLanguage:{type:String,default:"en"},currentLanguage:{type:String,default:null},supportedLanguageDetails:{type:Object,default:()=>({})},allowedLanguages:{type:Array,default:()=>["nl","en","fr","de"]}},data(){let e=this.currentLanguage||this.initialLanguage;return{selectedLanguage:e,internalCurrentLanguage:e}},mounted(){this.$emit("language-changed",this.selectedLanguage);let e=new CustomEvent("language-changed",{detail:{language:this.selectedLanguage}});document.dispatchEvent(e)},computed:{effectiveCurrentLanguage(){return this.providerLanguage||this.currentLanguage||this.initialLanguage}},methods:{getAvailableLanguages(){let e=[],t=this.allowedLanguages&&this.allowedLanguages.length>0?this.allowedLanguages:["nl","en","fr","de"];if(this.supportedLanguageDetails&&Object.keys(this.supportedLanguageDetails).length>0)for(let[n,r]of Object.entries(this.supportedLanguageDetails)){let i=r["iso 639-1"];t.includes(i)&&e.push({code:i,name:n,flag:r.flag||""})}else{let n={nl:{name:"Nederlands",flag:"\uD83C\uDDF3\uD83C\uDDF1"},en:{name:"English",flag:"\uD83C\uDDEC\uD83C\uDDE7"},fr:{name:"Français",flag:"\uD83C\uDDEB\uD83C\uDDF7"},de:{name:"Deutsch",flag:"\uD83C\uDDE9\uD83C\uDDEA"}};t.forEach(t=>{n[t]&&e.push({code:t,name:n[t].name,flag:n[t].flag})})}return e},changeLanguage(e){if(console.log(`LanguageSelector: changeLanguage called with ${e}`),this.internalCurrentLanguage!==e){this.internalCurrentLanguage=e,this.selectedLanguage=e,this.providerSetLanguage?(console.log(`LanguageSelector: Calling LanguageProvider.setLanguage(${e})`),this.providerSetLanguage(e)):console.warn("LanguageSelector: LanguageProvider not available, using fallback DOM events only"),this.$emit("language-changed",e);let t=new CustomEvent("language-changed",{detail:{language:e}});document.dispatchEvent(t)}}}}}),u("lfo9i",function(e,t){o(e.exports,"LANGUAGE_PROVIDER_KEY",function(){return s}),o(e.exports,"createLanguageProvider",function(){return l}),o(e.exports,"useLanguageProvider",function(){return a}),o(e.exports,"useComponentTranslations",function(){return u}),c("iJXGE");var n=c("iADb3"),r=c("6Ys9M"),i=c("dbYH6");let s=Symbol("LanguageProvider");function l(e="en",t=""){let o=(0,r.ref)(e),s=(0,r.ref)(!1),a=(0,r.ref)(null),{translateConstants:c,getCachedTranslations:u,clearCache:d}=(0,i.useConstantsTranslation)(),p=(0,r.reactive)({}),h=async(e,n)=>{let r=p[e];if(!r)return void console.warn(`LanguageProvider: Component ${e} not found for translation`);r.isLoading=!0,r.error=null;try{if("en"===n)r.translated={...r.original},console.log(`LanguageProvider: Using original English texts for ${e}`);else{console.log(`LanguageProvider: Translating ${e} from English to ${n}`);let i=await c(r.original,n,{context:e,apiPrefix:t});r.translated=i,console.log(`LanguageProvider: Successfully translated ${e} to ${n}`)}}catch(t){console.error(`LanguageProvider: Translation error for ${e}:`,t),r.error=t,r.translated={...r.original}}finally{r.isLoading=!1}},f=async e=>{if(o.value!==e){console.log("LanguageProvider: Setting language to",e),o.value=e,s.value=!0,a.value=null;try{let t=Object.keys(p).map(t=>h(t,e));await Promise.all(t),console.log(`LanguageProvider: Successfully updated all components to ${e}`)}catch(e){console.error("LanguageProvider: Error setting language:",e),a.value=e}finally{s.value=!1}}},g=(()=>{if("undefined"!=typeof document){let e=e=>{let t=e.detail?.language||e.detail;console.log(`LanguageProvider: Received DOM language change event: ${t}`),t&&o.value!==t&&(console.log(`LanguageProvider: Triggering setLanguage(${t}) from DOM event`),f(t))};return document.addEventListener("language-changed",e),console.log("LanguageProvider: DOM event listener registered for language-changed events"),()=>{document.removeEventListener("language-changed",e),console.log("LanguageProvider: DOM event listener cleanup completed")}}return()=>{}})();return{currentLanguage:(0,n.computed)(()=>o.value),isTranslating:(0,n.computed)(()=>s.value),translationError:(0,n.computed)(()=>a.value),registerComponent:(e,t)=>(console.log(`LanguageProvider: Registering component ${e} with language ${o.value}`),p[e]||(p[e]=(0,r.reactive)({original:t,translated:{...t},isLoading:!1,error:null}),"en"!==o.value&&(console.log(`LanguageProvider: Component ${e} needs initial translation to ${o.value}`),h(e,o.value))),p[e]),setLanguage:f,getComponentTranslations:e=>p[e]||null,clearAllCaches:()=>{d(),Object.keys(p).forEach(e=>{delete p[e]})},componentTranslations:(0,n.computed)(()=>p),cleanup:g}}function a(){let e=(0,n.inject)(s);if(!e)throw Error("useLanguageProvider must be used within a LanguageProvider");return e}function u(e,t){let r=a(),i=r.registerComponent(e,t);return{texts:(0,n.computed)(()=>i.translated),isLoading:(0,n.computed)(()=>i.isLoading),error:(0,n.computed)(()=>i.error),currentLanguage:r.currentLanguage}}}),u("iJXGE",function(e,t){o(e.exports,"computed",function(){return c("iADb3").computed}),o(e.exports,"createBlock",function(){return c("iADb3").createBlock}),o(e.exports,"createCommentVNode",function(){return c("iADb3").createCommentVNode}),o(e.exports,"createElementBlock",function(){return c("iADb3").createElementBlock}),o(e.exports,"createElementVNode",function(){return c("iADb3").createElementVNode}),o(e.exports,"createTextVNode",function(){return c("iADb3").createTextVNode}),o(e.exports,"createVNode",function(){return c("iADb3").createVNode}),o(e.exports,"Fragment",function(){return c("iADb3").Fragment}),o(e.exports,"initCustomFormatter",function(){return c("iADb3").initCustomFormatter}),o(e.exports,"inject",function(){return c("iADb3").inject}),o(e.exports,"normalizeClass",function(){return c("fVHkO").normalizeClass}),o(e.exports,"onMounted",function(){return c("iADb3").onMounted}),o(e.exports,"openBlock",function(){return c("iADb3").openBlock}),o(e.exports,"provide",function(){return c("iADb3").provide}),o(e.exports,"reactive",function(){return c("6Ys9M").reactive}),o(e.exports,"ref",function(){return c("6Ys9M").ref}),o(e.exports,"registerRuntimeCompiler",function(){return c("iADb3").registerRuntimeCompiler}),o(e.exports,"renderList",function(){return c("iADb3").renderList}),o(e.exports,"renderSlot",function(){return c("iADb3").renderSlot}),o(e.exports,"resolveComponent",function(){return c("iADb3").resolveComponent}),o(e.exports,"version",function(){return c("iADb3").version}),o(e.exports,"warn",function(){return c("iADb3").warn}),o(e.exports,"watch",function(){return c("iADb3").watch}),o(e.exports,"withDirectives",function(){return c("iADb3").withDirectives}),o(e.exports,"createApp",function(){return c("fNp5a").createApp}),o(e.exports,"vModelCheckbox",function(){return c("fNp5a").vModelCheckbox}),o(e.exports,"vModelRadio",function(){return c("fNp5a").vModelRadio}),o(e.exports,"vModelSelect",function(){return c("fNp5a").vModelSelect}),o(e.exports,"vModelText",function(){return c("fNp5a").vModelText}),o(e.exports,"withKeys",function(){return c("fNp5a").withKeys}),o(e.exports,"withModifiers",function(){return c("fNp5a").withModifiers}),o(e.exports,"toDisplayString",function(){return c("fVHkO").toDisplayString});var n=c("iADb3");c("fNp5a"),c("fVHkO");var r=c("j0b99"),i=c("fVHkO");let s=Object.create(null);(0,n.registerRuntimeCompiler)(function(e,t){if(!(0,i.isString)(e))if(!e.nodeType)return i.NOOP;else e=e.innerHTML;let n=(0,i.genCacheKey)(e,t),o=s[n];if(o)return o;if("#"===e[0]){let t=document.querySelector(e);e=t?t.innerHTML:""}let l=(0,i.extend)({hoistStatic:!0,onError:void 0,onWarn:i.NOOP},t);l.isCustomElement||"undefined"==typeof customElements||(l.isCustomElement=e=>!!customElements.get(e));let{code:a}=(0,r.compile)(e,l),c=Function("Vue",a)($da4aba8f3f47fabb$import$4f81359071792c76);return c._rc=!0,s[n]=c})}),u("iADb3",function(e,t){let n,r,i,s,l;o(e.exports,"callWithAsyncErrorHandling",function(){return g}),o(e.exports,"nextTick",function(){return E}),o(e.exports,"queuePostFlushCb",function(){return A}),o(e.exports,"Fragment",function(){return tI}),o(e.exports,"Static",function(){return tB}),o(e.exports,"withDirectives",function(){return z}),o(e.exports,"useTransitionState",function(){return Y}),o(e.exports,"onMounted",function(){return eC}),o(e.exports,"BaseTransitionPropsValidators",function(){return G}),o(e.exports,"getCurrentInstance",function(){return t9}),o(e.exports,"getTransitionRawChildren",function(){return ei}),o(e.exports,"resolveTransitionHooks",function(){return ee}),o(e.exports,"setTransitionHooks",function(){return er}),o(e.exports,"BaseTransition",function(){return Z}),o(e.exports,"defineComponent",function(){return eo}),o(e.exports,"createVNode",function(){return tW}),o(e.exports,"createTextVNode",function(){return tZ}),o(e.exports,"watch",function(){return tb}),o(e.exports,"onUpdated",function(){return eA}),o(e.exports,"onUnmounted",function(){return eM}),o(e.exports,"onBeforeUpdate",function(){return eT}),o(e.exports,"resolveComponent",function(){return eB}),o(e.exports,"renderList",function(){return e$}),o(e.exports,"renderSlot",function(){return eF}),o(e.exports,"openBlock",function(){return t$}),o(e.exports,"createBlock",function(){return tU}),o(e.exports,"computed",function(){return nd}),o(e.exports,"provide",function(){return e8}),o(e.exports,"inject",function(){return e9}),o(e.exports,"version",function(){return nf}),o(e.exports,"createRenderer",function(){return tp}),o(e.exports,"createHydrationRenderer",function(){return th}),o(e.exports,"createElementBlock",function(){return tH}),o(e.exports,"createElementVNode",function(){return tG}),o(e.exports,"createCommentVNode",function(){return tQ}),o(e.exports,"registerRuntimeCompiler",function(){return nr}),o(e.exports,"isRuntimeOnly",function(){return ni}),o(e.exports,"h",function(){return np}),o(e.exports,"initCustomFormatter",function(){return nh}),o(e.exports,"warn",function(){return ng}),o(e.exports,"reactive",function(){return c("6Ys9M").reactive}),o(e.exports,"ref",function(){return c("6Ys9M").ref}),o(e.exports,"toRaw",function(){return c("6Ys9M").toRaw}),o(e.exports,"camelize",function(){return c("fVHkO").camelize}),o(e.exports,"normalizeClass",function(){return c("fVHkO").normalizeClass});var a=c("6Ys9M"),u=c("fVHkO");let d=[],p=!1;function h(e,...t){if(p)return;p=!0,(0,a.pauseTracking)();let n=d.length?d[d.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=function(){let e=d[d.length-1];if(!e)return[];let t=[];for(;e;){let n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});let r=e.component&&e.component.parent;e=r&&r.vnode}return t}();if(r)f(r,n,11,[e+t.map(e=>{var t,n;return null!=(n=null==(t=e.toString)?void 0:t.call(e))?n:JSON.stringify(e)}).join(""),n&&n.proxy,i.map(({vnode:e})=>`at <${nu(n,e.type)}>`).join("\n"),i]);else{let n=[`[Vue warn]: ${e}`,...t];i.length&&n.push(` +`,...function(e){let t=[];return e.forEach((e,n)=>{t.push(...0===n?[]:[` +`],...function({vnode:e,recurseCount:t}){let n=t>0?`... (${t} recursive calls)`:"",r=!!e.component&&null==e.component.parent,i=` at <${nu(e.component,e.type,r)}`,o=">"+n;return e.props?[i,...function(e){let t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...function e(t,n,r){return(0,u.isString)(n)?(n=JSON.stringify(n),r?n:[`${t}=${n}`]):"number"==typeof n||"boolean"==typeof n||null==n?r?n:[`${t}=${n}`]:(0,a.isRef)(n)?(n=e(t,(0,a.toRaw)(n.value),!0),r?n:[`${t}=Ref<`,n,">"]):(0,u.isFunction)(n)?[`${t}=fn${n.name?`<${n.name}>`:""}`]:(n=(0,a.toRaw)(n),r?n:[`${t}=`,n])}(n,e[n]))}),n.length>3&&t.push(" ..."),t}(e.props),o]:[i+o]}(e))}),t}(i)),console.warn(...n)}(0,a.resetTracking)(),p=!1}function f(e,t,n,r){try{return r?e(...r):e()}catch(e){m(e,t,n)}}function g(e,t,n,r){if((0,u.isFunction)(e)){let i=f(e,t,n,r);return i&&(0,u.isPromise)(i)&&i.catch(e=>{m(e,t,n)}),i}if((0,u.isArray)(e)){let i=[];for(let o=0;o=D(n)?y.push(e):y.splice(function(e){let t=x+1,n=y.length;for(;t>>1,i=y[r],o=D(i);oD(e)-D(t));if(b.length=0,k)return void k.push(...e);for(S=0,k=e;Snull==e.id?2&e.flags?-1:1/0:e.id,N=[],I=!1;function L(e,...t){n?n.emit(e,...t):I||N.push({event:e,args:t})}let V=R("component:added"),B=R("component:updated"),P=R("component:removed");function R(e){return t=>{L(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}let $=null,F=null;function j(e){let t=$;return $=e,F=e&&e.type.__scopeId||null,t}function z(e,t){if(null===$)return e;let n=nl($),r=e.dirs||(e.dirs=[]);for(let e=0;e{e.isMounted=!0}),eO(()=>{e.isUnmounting=!0}),e}let K=[Function,Array],G={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:K,onEnter:K,onAfterEnter:K,onEnterCancelled:K,onBeforeLeave:K,onLeave:K,onAfterLeave:K,onLeaveCancelled:K,onBeforeAppear:K,onAppear:K,onAfterAppear:K,onAppearCancelled:K},W=e=>{let t=e.subTree;return t.component?W(t.component):t};function X(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==tV){t=n;break}}return t}let Z={name:"BaseTransition",props:G,setup(e,{slots:t}){let n=t9(),r=Y();return()=>{let i=t.default&&ei(t.default(),!0);if(!i||!i.length)return;let o=X(i),s=(0,a.toRaw)(e),{mode:l}=s;if(r.isLeaving)return et(o);let c=en(o);if(!c)return et(o);let u=ee(c,s,r,n,e=>u=e);c.type!==tV&&er(c,u);let d=n.subTree&&en(n.subTree);if(d&&d.type!==tV&&!tJ(c,d)&&W(n).type!==tV){let e=ee(d,s,r,n);if(er(d,e),"out-in"===l&&c.type!==tV)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,d=void 0},et(o);"in-out"===l&&c.type!==tV?e.delayLeave=(e,t,n)=>{Q(r,d)[String(d.key)]=d,e[q]=()=>{t(),e[q]=void 0,delete u.delayedLeave,d=void 0},u.delayedLeave=()=>{n(),delete u.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return o}}};function Q(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ee(e,t,n,r,i){let{appear:o,mode:s,persisted:l=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:d,onEnterCancelled:p,onBeforeLeave:h,onLeave:f,onAfterLeave:m,onLeaveCancelled:y,onBeforeAppear:x,onAppear:b,onAfterAppear:k,onAppearCancelled:S}=t,_=String(e.key),w=Q(n,e),E=(e,t)=>{e&&g(e,r,9,t)},C=(e,t)=>{let n=t[1];E(e,t),(0,u.isArray)(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:s,persisted:l,beforeEnter(t){let r=a;if(!n.isMounted)if(!o)return;else r=x||a;t[q]&&t[q](!0);let i=w[_];i&&tJ(e,i)&&i.el[q]&&i.el[q](),E(r,[t])},enter(e){let t=c,r=d,i=p;if(!n.isMounted)if(!o)return;else t=b||c,r=k||d,i=S||p;let s=!1,l=e[J]=t=>{s||(s=!0,t?E(i,[e]):E(r,[e]),T.delayedLeave&&T.delayedLeave(),e[J]=void 0)};t?C(t,[e,l]):l()},leave(t,r){let i=String(e.key);if(t[J]&&t[J](!0),n.isUnmounting)return r();E(h,[t]);let o=!1,s=t[q]=n=>{o||(o=!0,r(),n?E(y,[t]):E(m,[t]),t[q]=void 0,w[i]===e&&delete w[i])};w[i]=e,f?C(f,[t,s]):s()},clone(e){let o=ee(e,t,n,r,i);return i&&i(o),o}};return T}function et(e){if(ex(e))return(e=tX(e)).children=null,e}function en(e){if(!ex(e))return e.type.__isTeleport&&e.children?X(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&(0,u.isFunction)(n.default))return n.default()}}function er(e,t){6&e.shapeFlag&&e.component?(e.transition=t,er(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ei(e,t=!1,n){let r=[],i=0;for(let o=0;o1)for(let e=0;eel(e,t&&((0,u.isArray)(t)?t[o]:t),n,r,i));if(ev(r)&&!i){512&r.shapeFlag&&r.type.__asyncResolved&&r.component.subTree.component&&el(e,t,n,r.component.subTree);return}let o=4&r.shapeFlag?nl(r.component):r.el,s=i?null:o,{i:l,r:c}=e,d=t&&t.r,p=l.refs===u.EMPTY_OBJ?l.refs={}:l.refs,h=l.setupState,g=(0,a.toRaw)(h),m=h===u.EMPTY_OBJ?()=>!1:e=>(0,u.hasOwn)(g,e);if(null!=d&&d!==c&&((0,u.isString)(d)?(p[d]=null,m(d)&&(h[d]=null)):(0,a.isRef)(d)&&(d.value=null)),(0,u.isFunction)(c))f(c,l,12,[s,p]);else{let t=(0,u.isString)(c),r=(0,a.isRef)(c);if(t||r){let l=()=>{if(e.f){let n=t?m(c)?h[c]:p[c]:c.value;i?(0,u.isArray)(n)&&(0,u.remove)(n,o):(0,u.isArray)(n)?n.includes(o)||n.push(o):t?(p[c]=[o],m(c)&&(h[c]=p[c])):(c.value=[o],e.k&&(p[e.k]=c.value))}else t?(p[c]=s,m(c)&&(h[c]=s)):r&&(c.value=s,e.k&&(p[e.k]=s))};s?(l.id=-1,td(l,n)):l()}}}let ea=!1,ec=()=>{ea||(console.error("Hydration completed but contains mismatches."),ea=!0)},eu=e=>{if(1===e.nodeType){if(e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName)return"svg";if(e.namespaceURI.includes("MathML"))return"mathml"}},ed=e=>8===e.nodeType;function ep(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:o,parentNode:s,remove:l,insert:c,createComment:d}}=e,p=(n,r,l,a,d,S=!1)=>{S=S||!!r.dynamicChildren;let _=ed(n)&&"["===n.data,w=()=>y(n,r,l,a,d,_),{type:E,ref:C,shapeFlag:T,patchFlag:A}=r,O=n.nodeType;r.el=n,__VUE_PROD_DEVTOOLS__&&((0,u.def)(n,"__vnode",r,!0),(0,u.def)(n,"__vueParentComponent",l,!0)),-2===A&&(S=!1,r.dynamicChildren=null);let M=null;switch(E){case tL:3!==O?""===r.children?(c(r.el=i(""),s(n),n),M=n):M=w():(n.data!==r.children&&(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&h("Hydration text mismatch in",n.parentNode,` + - rendered on server: ${JSON.stringify(n.data)} + - expected on client: ${JSON.stringify(r.children)}`),ec(),n.data=r.children),M=o(n));break;case tV:k(n)?(M=o(n),b(r.el=n.content.firstChild,n,l)):M=8!==O||_?w():o(n);break;case tB:if(_&&(O=(n=o(n)).nodeType),1===O||3===O){M=n;let e=!r.children.length;for(let t=0;t{s=s||!!t.dynamicChildren;let{type:c,props:d,patchFlag:p,shapeFlag:f,dirs:m,transition:y}=t,x="input"===c||"option"===c;if(x||-1!==p){let c;m&&H(t,null,n,"created");let S=!1;if(k(e)){S=ty(null,y)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;if(S){let e=r.getAttribute("class");e&&(r.$cls=e),y.beforeEnter(r)}b(r,e,n),t.el=e=r}if(16&f&&!(d&&(d.innerHTML||d.textContent))){let r=g(e.firstChild,t,e,n,i,o,s),a=!1;for(;r;){ey(e,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&!a&&(h("Hydration children mismatch on",e,` +Server rendered element contains more child nodes than client vdom.`),a=!0),ec());let t=r;r=r.nextSibling,l(t)}}else if(8&f){let n=t.children;"\n"===n[0]&&("PRE"===e.tagName||"TEXTAREA"===e.tagName)&&(n=n.slice(1)),e.textContent!==n&&(ey(e,0)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&h("Hydration text content mismatch on",e,` + - rendered on server: ${e.textContent} + - expected on client: ${t.children}`),ec()),e.textContent=t.children)}if(d){if(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||x||!s||48&p){let i=e.tagName.includes("-");for(let o in d)__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&!(m&&m.some(e=>e.dir.created))&&function(e,t,n,r,i){let o,s,l,a;if("class"===t)e.$cls?(l=e.$cls,delete e.$cls):l=e.getAttribute("class"),a=(0,u.normalizeClass)(n),!function(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}(eh(l||""),eh(a))&&(o=2,s="class");else if("style"===t){l=e.getAttribute("style")||"",a=(0,u.isString)(n)?n:(0,u.stringifyStyle)((0,u.normalizeStyle)(n));let t=ef(l),c=ef(a);if(r.dirs)for(let{dir:e,value:t}of r.dirs)"show"!==e.name||t||c.set("display","none");i&&function e(t,n,r){let i=t.subTree;if(t.getCssVars&&(n===i||i&&i.type===tI&&i.children.includes(n))){let e=t.getCssVars();for(let t in e)r.set(`--${(0,u.getEscapedCssVarName)(t,!1)}`,String(e[t]))}n===i&&t.parent&&e(t.parent,t.vnode,r)}(i,r,c),!function(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e)if(r!==t.get(n))return!1;return!0}(t,c)&&(o=3,s="style")}else(e instanceof SVGElement&&(0,u.isKnownSvgAttr)(t)||e instanceof HTMLElement&&((0,u.isBooleanAttr)(t)||(0,u.isKnownHtmlAttr)(t)))&&((0,u.isBooleanAttr)(t)?(l=e.hasAttribute(t),a=(0,u.includeBooleanAttr)(n)):null==n?(l=e.hasAttribute(t),a=!1):(l=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,a=!!(0,u.isRenderableAttrValue)(n)&&String(n)),l!==a&&(o=4,s=t));if(null!=o&&!ey(e,o)){let t=e=>!1===e?"(not rendered)":`${s}="${e}"`;return h(`Hydration ${em[o]} mismatch on`,e,` + - rendered on server: ${t(l)} + - expected on client: ${t(a)} + Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. + You should fix the source of the mismatch.`),!0}return!1}(e,o,d[o],t,n)&&ec(),(x&&(o.endsWith("value")||"indeterminate"===o)||(0,u.isOn)(o)&&!(0,u.isReservedProp)(o)||"."===o[0]||i)&&r(e,o,null,d[o],void 0,n)}else if(d.onClick)r(e,"onClick",null,d.onClick,void 0,n);else if(4&p&&(0,a.isReactive)(d.style))for(let e in d.style)d.style[e]}(c=d&&d.onVnodeBeforeMount)&&t3(c,n,t),m&&H(t,null,n,"beforeMount"),((c=d&&d.onVnodeMounted)||m||S)&&tN(()=>{c&&t3(c,n,t),S&&y.enter(e),m&&H(t,null,n,"mounted")},i)}return e.nextSibling},g=(e,t,r,s,l,a,u)=>{u=u||!!t.dynamicChildren;let d=t.children,f=d.length,g=!1;for(let t=0;t{let{slotScopeIds:a}=t;a&&(i=i?i.concat(a):a);let u=s(e),p=g(o(e),t,u,n,r,i,l);return p&&ed(p)&&"]"===p.data?o(t.anchor=p):(ec(),c(t.anchor=d("]"),u,p),p)},y=(e,t,r,i,a,c)=>{if(ey(e.parentElement,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&h(`Hydration node mismatch: +- rendered on server:`,e,3===e.nodeType?"(text)":ed(e)&&"["===e.data?"(start of fragment)":"",` +- expected on client:`,t.type),ec()),t.el=null,c){let t=x(e);for(;;){let n=o(e);if(n&&n!==t)l(n);else break}}let u=o(e),d=s(e);return l(e),n(null,t,d,u,r,i,eu(d),a),r&&(r.vnode.el=t.el,tM(r,t.el)),u},x=(e,t="[",n="]")=>{let r=0;for(;e;)if((e=o(e))&&ed(e)&&(e.data===t&&r++,e.data===n))if(0===r)return o(e);else r--;return e},b=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},k=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes()){__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&h("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,e,t),M(),t._vnode=e;return}p(t.firstChild,e,null,null,null),M(),t._vnode=e},p]}function eh(e){return new Set(e.trim().split(/\s+/))}function ef(e){let t=new Map;for(let n of e.split(";")){let[e,r]=n.split(":");e=e.trim(),r=r&&r.trim(),e&&r&&t.set(e,r)}return t}let eg="data-allow-mismatch",em={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function ey(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(eg);)e=e.parentElement;let n=e&&e.getAttribute(eg);if(null==n)return!1;{if(""===n)return!0;let e=n.split(",");return!!(0===t&&e.includes("children"))||e.includes(em[t])}}(0,u.getGlobalThis)().requestIdleCallback||(e=>setTimeout(e,1)),(0,u.getGlobalThis)().cancelIdleCallback||(e=>clearTimeout(e));let ev=e=>!!e.type.__asyncLoader,ex=e=>e.type.__isKeepAlive;function eb(e,t){eS(e,"a",t)}function ek(e,t){eS(e,"da",t)}function eS(e,t,n=t8){let r=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(e_(t,r,n),n){let e=n.parent;for(;e&&e.parent;)ex(e.parent.vnode)&&function(e,t,n,r){let i=e_(t,e,r,!0);eM(()=>{(0,u.remove)(r[t],i)},n)}(r,t,n,e),e=e.parent}}function e_(e,t,n=t8,r=!1){if(n){let i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{(0,a.pauseTracking)();let i=t5(n),o=g(t,n,e,r);return i(),(0,a.resetTracking)(),o});return r?i.unshift(o):i.push(o),o}}let ew=e=>(t,n=t8)=>{nt&&"sp"!==e||e_(e,(...e)=>t(...e),n)},eE=ew("bm"),eC=ew("m"),eT=ew("bu"),eA=ew("u"),eO=ew("bum"),eM=ew("um"),eD=ew("sp"),eN=ew("rtg"),eI=ew("rtc");function eL(e,t=t8){e_("ec",e,t)}let eV="components";function eB(e,t){return function(e,t,n=!0,r=!1){let i=$||t8;if(i){let n=i.type;if(e===eV){let e=nc(n,!1);if(e&&(e===t||e===(0,u.camelize)(t)||e===(0,u.capitalize)((0,u.camelize)(t))))return n}let o=eR(i[e]||n[e],t)||eR(i.appContext[e],t);return!o&&r?n:o}}(eV,e,!0,t)||e}let eP=Symbol.for("v-ndc");function eR(e,t){return e&&(e[t]||e[(0,u.camelize)(t)]||e[(0,u.capitalize)((0,u.camelize)(t))])}function e$(e,t,n,r){let i,o=n&&n[r],s=(0,u.isArray)(e);if(s||(0,u.isString)(e)){let n=s&&(0,a.isReactive)(e),r=!1,l=!1;n&&(r=!(0,a.isShallow)(e),l=(0,a.isReadonly)(e),e=(0,a.shallowReadArray)(e)),i=Array(e.length);for(let n=0,s=e.length;nt(e,n,void 0,o&&o[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,s=n.length;r!tq(t)||t.type!==tV&&(t.type!==tI||!!e(t.children)))?t:null}(o(n)),l=n.key||s&&s.key,a=tU(tI,{key:(l&&!(0,u.isSymbol)(l)?l:`_${t}`)+(!s&&r?"_fb":"")},s||(r?r():[]),s&&1===e._?64:-2);return!i&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}let ej=e=>e?ne(e)?nl(e):ej(e.parent):null,ez=(0,u.extend)(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ej(e.parent),$root:e=>ej(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?eG(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{C(e.update)}),$nextTick:e=>e.n||(e.n=E.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?tS.bind(e):u.NOOP}),eH=(e,t)=>e!==u.EMPTY_OBJ&&!e.__isScriptSetup&&(0,u.hasOwn)(e,t),eU={get({_:e},t){let n,r,i;if("__v_skip"===t)return!0;let{ctx:o,setupState:s,data:l,props:c,accessCache:d,type:p,appContext:h}=e;if("$"!==t[0]){let r=d[t];if(void 0!==r)switch(r){case 1:return s[t];case 2:return l[t];case 4:return o[t];case 3:return c[t]}else{if(eH(s,t))return d[t]=1,s[t];if(l!==u.EMPTY_OBJ&&(0,u.hasOwn)(l,t))return d[t]=2,l[t];if((n=e.propsOptions[0])&&(0,u.hasOwn)(n,t))return d[t]=3,c[t];if(o!==u.EMPTY_OBJ&&(0,u.hasOwn)(o,t))return d[t]=4,o[t];(!__VUE_OPTIONS_API__||eY)&&(d[t]=0)}}let f=ez[t];return f?("$attrs"===t&&(0,a.track)(e.attrs,"get",""),f(e)):(r=p.__cssModules)&&(r=r[t])?r:o!==u.EMPTY_OBJ&&(0,u.hasOwn)(o,t)?(d[t]=4,o[t]):(i=h.config.globalProperties,(0,u.hasOwn)(i,t))?i[t]:void 0},set({_:e},t,n){let{data:r,setupState:i,ctx:o}=e;return eH(i,t)?(i[t]=n,!0):r!==u.EMPTY_OBJ&&(0,u.hasOwn)(r,t)?(r[t]=n,!0):!(0,u.hasOwn)(e.props,t)&&!("$"===t[0]&&t.slice(1)in e)&&(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:o}},s){let l;return!!n[s]||e!==u.EMPTY_OBJ&&(0,u.hasOwn)(e,s)||eH(t,s)||(l=o[0])&&(0,u.hasOwn)(l,s)||(0,u.hasOwn)(r,s)||(0,u.hasOwn)(ez,s)||(0,u.hasOwn)(i.config.globalProperties,s)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:(0,u.hasOwn)(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},eq=(0,u.extend)({},eU,{get(e,t){if(t!==Symbol.unscopables)return eU.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!(0,u.isGloballyAllowed)(t)});function eJ(e){return(0,u.isArray)(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}let eY=!0;function eK(e,t,n){g((0,u.isArray)(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function eG(e){let t,n=e.type,{mixins:r,extends:i}=n,{mixins:o,optionsCache:s,config:{optionMergeStrategies:l}}=e.appContext,a=s.get(n);return a?t=a:o.length||r||i?(t={},o.length&&o.forEach(e=>eW(t,e,l,!0)),eW(t,n,l)):t=n,(0,u.isObject)(n)&&s.set(n,t),t}function eW(e,t,n,r=!1){let{mixins:i,extends:o}=t;for(let s in o&&eW(e,o,n,!0),i&&i.forEach(t=>eW(e,t,n,!0)),t)if(r&&"expose"===s);else{let r=eX[s]||n&&n[s];e[s]=r?r(e[s],t[s]):t[s]}return e}let eX={data:eZ,props:e2,emits:e2,methods:e1,computed:e1,beforeCreate:e0,created:e0,beforeMount:e0,mounted:e0,beforeUpdate:e0,updated:e0,beforeDestroy:e0,beforeUnmount:e0,destroyed:e0,unmounted:e0,activated:e0,deactivated:e0,errorCaptured:e0,serverPrefetch:e0,components:e1,directives:e1,watch:function(e,t){if(!e)return t;if(!t)return e;let n=(0,u.extend)(Object.create(null),e);for(let r in t)n[r]=e0(e[r],t[r]);return n},provide:eZ,inject:function(e,t){return e1(eQ(e),eQ(t))}};function eZ(e,t){return t?e?function(){return(0,u.extend)((0,u.isFunction)(e)?e.call(this,this):e,(0,u.isFunction)(t)?t.call(this,this):t)}:t:e}function eQ(e){if((0,u.isArray)(e)){let t={};for(let n=0;n1)return n&&(0,u.isFunction)(t)?t.call(r&&r.proxy):t}}let e5={},e7=()=>Object.create(e5),te=e=>Object.getPrototypeOf(e)===e5;function tt(e,t,n,r){let i,[o,s]=e.propsOptions,l=!1;if(t)for(let a in t){let c;if((0,u.isReservedProp)(a))continue;let d=t[a];o&&(0,u.hasOwn)(o,c=(0,u.camelize)(a))?s&&s.includes(c)?(i||(i={}))[c]=d:n[c]=d:tE(e.emitsOptions,a)||a in r&&d===r[a]||(r[a]=d,l=!0)}if(s){let t=(0,a.toRaw)(n),r=i||u.EMPTY_OBJ;for(let i=0;i"_"===e[0]||"$stable"===e,ts=e=>(0,u.isArray)(e)?e.map(t0):[t0(e)],tl=(e,t,n)=>{if(t._n)return t;let r=function(e,t=$,n){if(!t||e._n)return e;let r=(...n)=>{let i;r._d&&tj(-1);let o=j(t);try{i=e(...n)}finally{j(o),r._d&&tj(1)}return __VUE_PROD_DEVTOOLS__&&B(t),i};return r._n=!0,r._c=!0,r._d=!0,r}((...e)=>ts(t(...e)),n);return r._c=!1,r},ta=(e,t,n)=>{let r=e._ctx;for(let n in e){if(to(n))continue;let i=e[n];if((0,u.isFunction)(i))t[n]=tl(n,i,r);else if(null!=i){let e=ts(i);t[n]=()=>e}}},tc=(e,t)=>{let n=ts(t);e.slots.default=()=>n},tu=(e,t,n)=>{for(let r in t)(n||!to(r))&&(e[r]=t[r])},td=tN;function tp(e){return tf(e)}function th(e){return tf(e,ep)}function tf(e,t){var r;let o,s;"boolean"!=typeof __VUE_OPTIONS_API__&&((0,u.getGlobalThis)().__VUE_OPTIONS_API__=!0),"boolean"!=typeof __VUE_PROD_DEVTOOLS__&&((0,u.getGlobalThis)().__VUE_PROD_DEVTOOLS__=!1),"boolean"!=typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&((0,u.getGlobalThis)().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1);let l=(0,u.getGlobalThis)();l.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&function e(t,r){var i,o;(n=t)?(n.enabled=!0,N.forEach(({event:e,args:t})=>n.emit(e,...t)),N=[]):"undefined"==typeof window||!window.HTMLElement||(null==(o=null==(i=window.navigator)?void 0:i.userAgent)?void 0:o.includes("jsdom"))?(I=!0,N=[]):((r.__VUE_DEVTOOLS_HOOK_REPLAY__=r.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(t=>{e(t,r)}),setTimeout(()=>{n||(r.__VUE_DEVTOOLS_HOOK_REPLAY__=null,I=!0,N=[])},3e3))}(l.__VUE_DEVTOOLS_GLOBAL_HOOK__,l);let{insert:c,remove:d,patchProp:p,createElement:h,createText:y,createComment:x,setText:b,setElementText:k,parentNode:S,nextSibling:_,setScopeId:w=u.NOOP,insertStaticContent:E}=e,T=(e,t,n,r=null,i=null,o=null,s,l=null,a=!!t.dynamicChildren)=>{if(e===t)return;e&&!tJ(e,t)&&(r=ed(e),ei(e,i,o,!0),e=null),-2===t.patchFlag&&(a=!1,t.dynamicChildren=null);let{type:c,ref:u,shapeFlag:d}=t;switch(c){case tL:A(e,t,n,r);break;case tV:D(e,t,n,r);break;case tB:null==e&&R(t,n,r,s);break;case tI:K(e,t,n,r,i,o,s,l,a);break;default:1&d?$(e,t,n,r,i,o,s,l,a):6&d?G(e,t,n,r,i,o,s,l,a):64&d?c.process(e,t,n,r,i,o,s,l,a,ef):128&d&&c.process(e,t,n,r,i,o,s,l,a,ef)}null!=u&&i?el(u,e&&e.ref,o,t||e,!t):null==u&&e&&null!=e.ref&&el(e.ref,null,o,e,!0)},A=(e,t,n,r)=>{if(null==e)c(t.el=y(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&b(n,t.children)}},D=(e,t,n,r)=>{null==e?c(t.el=x(t.children||""),n,r):t.el=e.el},R=(e,t,n,r)=>{[e.el,e.anchor]=E(e.children,t,n,r,e.el,e.anchor)},$=(e,t,n,r,i,o,s,l,a)=>{"svg"===t.type?s="svg":"math"===t.type&&(s="mathml"),null==e?F(t,n,r,i,o,s,l,a):q(e,t,i,o,s,l,a)},F=(e,t,n,r,i,o,s,l)=>{let a,d,{props:f,shapeFlag:g,transition:m,dirs:y}=e;if(a=e.el=h(e.type,o,f&&f.is,f),8&g?k(a,e.children):16&g&&z(e.children,a,null,r,i,tg(e,o),s,l),y&&H(e,null,r,"created"),j(a,e,e.scopeId,s,r),f){for(let e in f)"value"===e||(0,u.isReservedProp)(e)||p(a,e,null,f[e],o,r);"value"in f&&p(a,"value",null,f.value,o),(d=f.onVnodeBeforeMount)&&t3(d,r,e)}__VUE_PROD_DEVTOOLS__&&((0,u.def)(a,"__vnode",e,!0),(0,u.def)(a,"__vueParentComponent",r,!0)),y&&H(e,null,r,"beforeMount");let x=ty(i,m);x&&m.beforeEnter(a),c(a,t,n),((d=f&&f.onVnodeMounted)||x||y)&&td(()=>{d&&t3(d,r,e),x&&m.enter(a),y&&H(e,null,r,"mounted")},i)},j=(e,t,n,r,i)=>{if(n&&w(e,n),r)for(let t=0;t{for(let c=a;c{let l,a=t.el=e.el;__VUE_PROD_DEVTOOLS__&&(a.__vnode=t);let{patchFlag:c,dynamicChildren:d,dirs:h}=t;c|=16&e.patchFlag;let f=e.props||u.EMPTY_OBJ,g=t.props||u.EMPTY_OBJ;if(n&&tm(n,!1),(l=g.onVnodeBeforeUpdate)&&t3(l,n,t,e),h&&H(t,e,n,"beforeUpdate"),n&&tm(n,!0),(f.innerHTML&&null==g.innerHTML||f.textContent&&null==g.textContent)&&k(a,""),d?J(e.dynamicChildren,d,a,n,r,tg(t,i),o):s||ee(e,t,a,null,n,r,tg(t,i),o,!1),c>0){if(16&c)Y(a,f,g,n,i);else if(2&c&&f.class!==g.class&&p(a,"class",null,g.class,i),4&c&&p(a,"style",f.style,g.style,i),8&c){let e=t.dynamicProps;for(let t=0;t{l&&t3(l,n,t,e),h&&H(t,e,n,"updated")},r)},J=(e,t,n,r,i,o,s)=>{for(let l=0;l{if(t!==n){if(t!==u.EMPTY_OBJ)for(let o in t)(0,u.isReservedProp)(o)||o in n||p(e,o,t[o],null,i,r);for(let o in n){if((0,u.isReservedProp)(o))continue;let s=n[o],l=t[o];s!==l&&"value"!==o&&p(e,o,l,s,i,r)}"value"in n&&p(e,"value",t.value,n.value,i)}},K=(e,t,n,r,i,o,s,l,a)=>{let d=t.el=e?e.el:y(""),p=t.anchor=e?e.anchor:y(""),{patchFlag:h,dynamicChildren:f,slotScopeIds:g}=t;g&&(l=l?l.concat(g):g),null==e?(c(d,n,r),c(p,n,r),z(t.children||[],n,p,i,o,s,l,a)):h>0&&64&h&&f&&e.dynamicChildren?(J(e.dynamicChildren,f,n,i,o,s,l),(null!=t.key||i&&t===i.subTree)&&function e(t,n,r=!1){let i=t.children,o=n.children;if((0,u.isArray)(i)&&(0,u.isArray)(o))for(let t=0;t{t.slotScopeIds=l,null==e?512&t.shapeFlag?i.ctx.activate(t,n,r,s,a):W(t,n,r,i,o,s,a):X(e,t,a)},W=(e,t,n,r,o,s,l)=>{let c=e.component=function(e,t,n){let r=e.type,i=(t?t.appContext:e.appContext)||t6,o={uid:t4++,vnode:e,type:r,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new(0,a.EffectScope)(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:function e(t,n,r=!1){let i=__VUE_OPTIONS_API__&&r?tr:n.propsCache,o=i.get(t);if(o)return o;let s=t.props,l={},a=[],c=!1;if(__VUE_OPTIONS_API__&&!(0,u.isFunction)(t)){let i=t=>{c=!0;let[r,i]=e(t,n,!0);(0,u.extend)(l,r),i&&a.push(...i)};!r&&n.mixins.length&&n.mixins.forEach(i),t.extends&&i(t.extends),t.mixins&&t.mixins.forEach(i)}if(!s&&!c)return(0,u.isObject)(t)&&i.set(t,u.EMPTY_ARR),u.EMPTY_ARR;if((0,u.isArray)(s))for(let e=0;e{let r=e(t,n,!0);r&&(a=!0,(0,u.extend)(l,r))};!r&&n.mixins.length&&n.mixins.forEach(i),t.extends&&i(t.extends),t.mixins&&t.mixins.forEach(i)}return s||a?((0,u.isArray)(s)?s.forEach(e=>l[e]=null):(0,u.extend)(l,s),(0,u.isObject)(t)&&i.set(t,l),l):((0,u.isObject)(t)&&i.set(t,null),null)}(r,i),emit:null,emitted:null,propsDefaults:u.EMPTY_OBJ,inheritAttrs:r.inheritAttrs,ctx:u.EMPTY_OBJ,data:u.EMPTY_OBJ,props:u.EMPTY_OBJ,attrs:u.EMPTY_OBJ,slots:u.EMPTY_OBJ,refs:u.EMPTY_OBJ,setupState:u.EMPTY_OBJ,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=tw.bind(null,o),e.ce&&e.ce(o),o}(e,r,o);ex(e)&&(c.ctx.renderer=ef),function(e,t=!1,n=!1){t&&i(t);let{props:r,children:o}=e.vnode,s=ne(e);!function(e,t,n,r=!1){let i={},o=e7();for(let n in e.propsDefaults=Object.create(null),tt(e,t,i,o),e.propsOptions[0])n in i||(i[n]=void 0);n?e.props=r?i:(0,a.shallowReactive)(i):e.type.props?e.props=i:e.props=o,e.attrs=o}(e,r,s,t),((e,t,n)=>{let r=e.slots=e7();if(32&e.vnode.shapeFlag){let e=t.__;e&&(0,u.def)(r,"__",e,!0);let i=t._;i?(tu(r,t,n),n&&(0,u.def)(r,"_",i,!0)):ta(t,r)}else t&&tc(e,t)})(e,o,n||t),s&&function(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,eU);let{setup:r}=n;if(r){var i;(0,a.pauseTracking)();let n=e.setupContext=r.length>1?{attrs:new Proxy((i=e).attrs,ns),slots:i.slots,emit:i.emit,expose:e=>{i.exposed=e||{}}}:null,o=t5(e),s=f(r,e,0,[e.props,n]),l=(0,u.isPromise)(s);if((0,a.resetTracking)(),o(),(l||e.sp)&&!ev(e)&&es(e),l){if(s.then(t7,t7),t)return s.then(n=>{nn(e,n,t)}).catch(t=>{m(t,e,0)});e.asyncDep=s}else nn(e,s,t)}else no(e,t)}(e,t),t&&i(!1)}(c,!1,l),c.asyncDep?(o&&o.registerDep(c,Z,l),e.el||D(null,c.subTree=tW(tV),t,n)):Z(c,e,t,n,o,s,l)},X=(e,t,n)=>{let r=t.component=e.component;if(function(e,t,n){let{props:r,children:i,component:o}=e,{props:s,children:l,patchFlag:a}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(!n||!(a>=0))return(!!i||!!l)&&(!l||!l.$stable)||r!==s&&(r?!s||tO(r,s,c):!!s);if(1024&a)return!0;if(16&a)return r?tO(r,s,c):!!s;if(8&a){let e=t.dynamicProps;for(let t=0;t{let c=()=>{if(e.isMounted){let t,{next:n,bu:r,u:s,parent:a,vnode:d}=e;{let t=function e(t){let n=t.subTree.component;if(n)if(n.asyncDep&&!n.asyncResolved)return n;else return e(n)}(e);if(t){n&&(n.el=d.el,Q(e,n,l)),t.asyncDep.then(()=>{e.isUnmounted||c()});return}}let p=n;tm(e,!1),n?(n.el=d.el,Q(e,n,l)):n=d,r&&(0,u.invokeArrayFns)(r),(t=n.props&&n.props.onVnodeBeforeUpdate)&&t3(t,a,n,d),tm(e,!0);let h=tC(e),f=e.subTree;e.subTree=h,T(f,h,S(f.el),ed(f),e,i,o),n.el=h.el,null===p&&tM(e,h.el),s&&td(s,i),(t=n.props&&n.props.onVnodeUpdated)&&td(()=>t3(t,a,n,d),i),__VUE_PROD_DEVTOOLS__&&B(e)}else{let l,{el:a,props:c}=t,{bm:d,m:p,parent:h,root:f,type:g}=e,m=ev(t);if(tm(e,!1),d&&(0,u.invokeArrayFns)(d),!m&&(l=c&&c.onVnodeBeforeMount)&&t3(l,h,t),tm(e,!0),a&&s){let t=()=>{e.subTree=tC(e),s(a,e.subTree,e,i,null)};m&&g.__asyncHydrate?g.__asyncHydrate(a,e,t):t()}else{f.ce&&!1!==f.ce._def.shadowRoot&&f.ce._injectChildStyle(g);let s=e.subTree=tC(e);T(null,s,n,r,e,i,o),t.el=s.el}if(p&&td(p,i),!m&&(l=c&&c.onVnodeMounted)){let e=t;td(()=>t3(l,h,e),i)}(256&t.shapeFlag||h&&ev(h.vnode)&&256&h.vnode.shapeFlag)&&e.a&&td(e.a,i),e.isMounted=!0,__VUE_PROD_DEVTOOLS__&&V(e),t=n=r=null}};e.scope.on();let d=e.effect=new(0,a.ReactiveEffect)(c);e.scope.off();let p=e.update=d.run.bind(d),h=e.job=d.runIfDirty.bind(d);h.i=e,h.id=e.uid,d.scheduler=()=>C(h),tm(e,!0),p()},Q=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,r){let{props:i,attrs:o,vnode:{patchFlag:s}}=e,l=(0,a.toRaw)(i),[c]=e.propsOptions,d=!1;if((r||s>0)&&!(16&s)){if(8&s){let n=e.vnode.dynamicProps;for(let r=0;r{let{vnode:r,slots:i}=e,o=!0,s=u.EMPTY_OBJ;if(32&r.shapeFlag){let e=t._;e?n&&1===e?o=!1:tu(i,t,n):(o=!t.$stable,ta(t,i)),s=t}else t&&(tc(e,t),s={default:1});if(o)for(let e in i)to(e)||null!=s[e]||delete i[e]})(e,t.children,n),(0,a.pauseTracking)(),O(e),(0,a.resetTracking)()},ee=(e,t,n,r,i,o,s,l,a=!1)=>{let c=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:p,shapeFlag:h}=t;if(p>0){if(128&p)return void en(c,d,n,r,i,o,s,l,a);else if(256&p)return void et(c,d,n,r,i,o,s,l,a)}8&h?(16&u&&eu(c,i,o),d!==c&&k(n,d)):16&u?16&h?en(c,d,n,r,i,o,s,l,a):eu(c,i,o,!0):(8&u&&k(n,""),16&h&&z(d,n,r,i,o,s,l,a))},et=(e,t,n,r,i,o,s,l,a)=>{let c;e=e||u.EMPTY_ARR,t=t||u.EMPTY_ARR;let d=e.length,p=t.length,h=Math.min(d,p);for(c=0;cp?eu(e,i,o,!0,!1,h):z(t,n,r,i,o,s,l,a,h)},en=(e,t,n,r,i,o,s,l,a)=>{let c=0,d=t.length,p=e.length-1,h=d-1;for(;c<=p&&c<=h;){let r=e[c],u=t[c]=a?t1(t[c]):t0(t[c]);if(tJ(r,u))T(r,u,n,null,i,o,s,l,a);else break;c++}for(;c<=p&&c<=h;){let r=e[p],c=t[h]=a?t1(t[h]):t0(t[h]);if(tJ(r,c))T(r,c,n,null,i,o,s,l,a);else break;p--,h--}if(c>p){if(c<=h){let e=h+1,u=eh)for(;c<=p;)ei(e[c],i,o,!0),c++;else{let f,g=c,m=c,y=new Map;for(c=m;c<=h;c++){let e=t[c]=a?t1(t[c]):t0(t[c]);null!=e.key&&y.set(e.key,c)}let x=0,b=h-m+1,k=!1,S=0,_=Array(b);for(c=0;c=b){ei(u,i,o,!0);continue}if(null!=u.key)r=y.get(u.key);else for(f=m;f<=h;f++)if(0===_[f-m]&&tJ(u,t[f])){r=f;break}void 0===r?ei(u,i,o,!0):(_[r-m]=c+1,r>=S?S=r:k=!0,T(u,t[r],n,null,i,o,s,l,a),x++)}let w=k?function(e){let t,n,r,i,o,s=e.slice(),l=[0],a=e.length;for(t=0;t>1]]0&&(s[t]=l[r-1]),l[r]=t)}}for(r=l.length,i=l[r-1];r-- >0;)l[r]=i,i=s[i];return l}(_):u.EMPTY_ARR;for(f=w.length-1,c=b-1;c>=0;c--){let e=m+c,u=t[e],p=e+1{let{el:o,type:s,transition:l,children:a,shapeFlag:u}=e;if(6&u)return void er(e.component.subTree,t,n,r);if(128&u)return void e.suspense.move(t,n,r);if(64&u)return void s.move(e,t,n,ef);if(s===tI){c(o,t,n);for(let e=0;e{let i;for(;e&&e!==t;)i=_(e),c(e,n,r),e=i;c(t,n,r)})(e,t,n);if(2!==r&&1&u&&l)if(0===r)l.beforeEnter(o),c(o,t,n),td(()=>l.enter(o),i);else{let{leave:r,delayLeave:i,afterLeave:s}=l,a=()=>{e.ctx.isUnmounted?d(o):c(o,t,n)},u=()=>{r(o,()=>{a(),s&&s()})};i?i(o,a,u):u()}else c(o,t,n)},ei=(e,t,n,r=!1,i=!1)=>{let o,{type:s,props:l,ref:c,children:u,dynamicChildren:d,shapeFlag:p,patchFlag:h,dirs:f,cacheIndex:g}=e;if(-2===h&&(i=!1),null!=c&&((0,a.pauseTracking)(),el(c,null,n,e,!0),(0,a.resetTracking)()),null!=g&&(t.renderCache[g]=void 0),256&p)return void t.ctx.deactivate(e);let m=1&p&&f,y=!ev(e);if(y&&(o=l&&l.onVnodeBeforeUnmount)&&t3(o,t,e),6&p)ec(e.component,n,r);else{if(128&p)return void e.suspense.unmount(n,r);m&&H(e,null,t,"beforeUnmount"),64&p?e.type.remove(e,t,n,ef,r):d&&!d.hasOnce&&(s!==tI||h>0&&64&h)?eu(d,t,n,!1,!0):(s===tI&&384&h||!i&&16&p)&&eu(u,t,n),r&&eo(e)}(y&&(o=l&&l.onVnodeUnmounted)||m)&&td(()=>{o&&t3(o,t,e),m&&H(e,null,t,"unmounted")},n)},eo=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===tI)return void ea(n,r);if(t===tB)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=_(e),d(e),e=n;d(t)})(e);let o=()=>{d(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,s=()=>t(n,o);r?r(e.el,o,s):s()}else o()},ea=(e,t)=>{let n;for(;e!==t;)n=_(e),d(e),e=n;d(t)},ec=(e,t,r)=>{let{bum:i,scope:o,job:s,subTree:l,um:a,m:c,a:d,parent:p,slots:{__:h}}=e;tv(c),tv(d),i&&(0,u.invokeArrayFns)(i),p&&(0,u.isArray)(h)&&h.forEach(e=>{p.renderCache[e]=void 0}),o.stop(),s&&(s.flags|=8,ei(l,e,t,r)),a&&td(a,t),td(()=>{e.isUnmounted=!0},t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve()),__VUE_PROD_DEVTOOLS__&&n&&"function"==typeof n.cleanupBuffer&&!n.cleanupBuffer(e)&&P(e)},eu=(e,t,n,r=!1,i=!1,o=0)=>{for(let s=o;s{if(6&e.shapeFlag)return ed(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();let t=_(e.anchor||e.el),n=t&&t[U];return n?_(n):t},ep=!1,eh=(e,t,n)=>{null==e?t._vnode&&ei(t._vnode,null,null,!0):T(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ep||(ep=!0,O(),M(),ep=!1)},ef={p:T,um:ei,m:er,r:eo,mt:W,mc:z,pc:ee,pbc:J,n:ed,o:e};return t&&([o,s]=t(ef)),{render:eh,hydrate:o,createApp:(r=o,function(e,t=null){(0,u.isFunction)(e)||(e=(0,u.extend)({},e)),null==t||(0,u.isObject)(t)||(t=null);let n=e3(),i=new WeakSet,o=[],s=!1,l=n.app={_uid:e6++,_component:e,_props:t,_container:null,_context:n,_instance:null,version:nf,get config(){return n.config},set config(v){},use:(e,...t)=>(i.has(e)||(e&&(0,u.isFunction)(e.install)?(i.add(e),e.install(l,...t)):(0,u.isFunction)(e)&&(i.add(e),e(l,...t))),l),mixin:e=>(__VUE_OPTIONS_API__&&!n.mixins.includes(e)&&n.mixins.push(e),l),component:(e,t)=>t?(n.components[e]=t,l):n.components[e],directive:(e,t)=>t?(n.directives[e]=t,l):n.directives[e],mount(i,o,a){if(!s){let c=l._ceVNode||tW(e,t);return c.appContext=n,!0===a?a="svg":!1===a&&(a=void 0),o&&r?r(c,i):eh(c,i,a),s=!0,l._container=i,i.__vue_app__=l,__VUE_PROD_DEVTOOLS__&&(l._instance=c.component,L("app:init",l,nf,{Fragment:tI,Text:tL,Comment:tV,Static:tB})),nl(c.component)}},onUnmount(e){o.push(e)},unmount(){s&&(g(o,l._instance,16),eh(null,l._container),__VUE_PROD_DEVTOOLS__&&(l._instance=null,L("app:unmount",l)),delete l._container.__vue_app__)},provide:(e,t)=>(n.provides[e]=t,l),runWithContext(e){let t=e4;e4=l;try{return e()}finally{e4=t}}};return l})}}function tg({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function tm({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ty(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function tv(e){if(e)for(let t=0;t{};return e.stop=u.NOOP,e.resume=u.NOOP,e.pause=u.NOOP,e}}let p=t8;c.call=(e,t,n)=>g(e,p,t,n);let h=!1;"post"===s?c.scheduler=e=>{td(e,p&&p.suspense)}:"sync"!==s&&(h=!0,c.scheduler=(e,t)=>{t?e():C(e)}),c.augmentJob=e=>{t&&(e.flags|=4),h&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let f=(0,a.watch)(e,t,c);return nt&&(r?r.push(f):d&&f()),f}function tS(e,t,n){let r,i=this.proxy,o=(0,u.isString)(e)?e.includes(".")?t_(i,e):()=>i[e]:e.bind(i,i);(0,u.isFunction)(t)?r=t:(r=t.handler,n=t);let s=t5(this),l=tk(o,r.bind(i),n);return s(),l}function t_(e,t){let n=t.split(".");return()=>{let t=e;for(let e=0;e(0,u.isString)(e)?e.trim():e)),c.number&&(l=n.map(u.looseToNumber))),__VUE_PROD_DEVTOOLS__&&(r=l,L("component:emit",e.appContext.app,e,t,r));let d=s[i=(0,u.toHandlerKey)(t)]||s[i=(0,u.toHandlerKey)((0,u.camelize)(t))];!d&&a&&(d=s[i=(0,u.toHandlerKey)((0,u.hyphenate)(t))]),d&&g(d,e,6,l);let p=s[i+"Once"];if(p){if(e.emitted){if(e.emitted[i])return}else e.emitted={};e.emitted[i]=!0,g(p,e,6,l)}}function tE(e,t){return!!e&&!!(0,u.isOn)(t)&&(t=t.slice(2).replace(/Once$/,""),(0,u.hasOwn)(e,t[0].toLowerCase()+t.slice(1))||(0,u.hasOwn)(e,(0,u.hyphenate)(t))||(0,u.hasOwn)(e,t))}function tC(e){let t,n,{type:r,vnode:i,proxy:o,withProxy:s,propsOptions:[l],slots:a,attrs:c,emit:d,render:p,renderCache:h,props:f,data:g,setupState:y,ctx:x,inheritAttrs:b}=e,k=j(e);try{if(4&i.shapeFlag){let e=s||o;t=t0(p.call(e,e,h,f,y,g,x)),n=c}else t=t0(r.length>1?r(f,{attrs:c,slots:a,emit:d}):r(f,null)),n=r.props?c:tT(c)}catch(n){tP.length=0,m(n,e,1),t=tW(tV)}let S=t;if(n&&!1!==b){let e=Object.keys(n),{shapeFlag:t}=S;e.length&&7&t&&(l&&e.some(u.isModelListener)&&(n=tA(n,l)),S=tX(S,n,!1,!0))}return i.dirs&&((S=tX(S,null,!1,!0)).dirs=S.dirs?S.dirs.concat(i.dirs):i.dirs),i.transition&&er(S,i.transition),t=S,j(k),t}let tT=e=>{let t;for(let n in e)("class"===n||"style"===n||(0,u.isOn)(n))&&((t||(t={}))[n]=e[n]);return t},tA=(e,t)=>{let n={};for(let r in e)(0,u.isModelListener)(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function tO(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;ie.__isSuspense;function tN(e,t){t&&t.pendingBranch?(0,u.isArray)(e)?t.effects.push(...e):t.effects.push(e):A(e)}let tI=Symbol.for("v-fgt"),tL=Symbol.for("v-txt"),tV=Symbol.for("v-cmt"),tB=Symbol.for("v-stc"),tP=[],tR=null;function t$(e=!1){tP.push(tR=e?null:[])}let tF=1;function tj(e,t=!1){tF+=e,e<0&&tR&&t&&(tR.hasOnce=!0)}function tz(e){return e.dynamicChildren=tF>0?tR||u.EMPTY_ARR:null,tP.pop(),tR=tP[tP.length-1]||null,tF>0&&tR&&tR.push(e),e}function tH(e,t,n,r,i,o){return tz(tG(e,t,n,r,i,o,!0))}function tU(e,t,n,r,i){return tz(tW(e,t,n,r,i,!0))}function tq(e){return!!e&&!0===e.__v_isVNode}function tJ(e,t){return e.type===t.type&&e.key===t.key}let tY=({key:e})=>null!=e?e:null,tK=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?(0,u.isString)(e)||(0,a.isRef)(e)||(0,u.isFunction)(e)?{i:$,r:e,k:t,f:!!n}:e:null);function tG(e,t=null,n=null,r=0,i=null,o=+(e!==tI),s=!1,l=!1){let a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tY(t),ref:t&&tK(t),scopeId:F,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:$};return l?(t2(a,n),128&o&&e.normalize(a)):n&&(a.shapeFlag|=(0,u.isString)(n)?8:16),tF>0&&!s&&tR&&(a.patchFlag>0||6&o)&&32!==a.patchFlag&&tR.push(a),a}let tW=function(e,t=null,n=null,r=0,i=null,o=!1){var s,l;if(e&&e!==eP||(e=tV),tq(e)){let r=tX(e,t,!0);return n&&t2(r,n),tF>0&&!o&&tR&&(6&r.shapeFlag?tR[tR.indexOf(e)]=r:tR.push(r)),r.patchFlag=-2,r}if(s=e,(0,u.isFunction)(s)&&"__vccOpts"in s&&(e=e.__vccOpts),t){let{class:e,style:n}=t=(l=t)?(0,a.isProxy)(l)||te(l)?(0,u.extend)({},l):l:null;e&&!(0,u.isString)(e)&&(t.class=(0,u.normalizeClass)(e)),(0,u.isObject)(n)&&((0,a.isProxy)(n)&&!(0,u.isArray)(n)&&(n=(0,u.extend)({},n)),t.style=(0,u.normalizeStyle)(n))}let c=(0,u.isString)(e)?1:tD(e)?128:e.__isTeleport?64:(0,u.isObject)(e)?4:2*!!(0,u.isFunction)(e);return tG(e,t,n,r,i,c,o,!0)};function tX(e,t,n=!1,r=!1){let{props:i,ref:o,patchFlag:s,children:l,transition:a}=e,c=t?function(...e){let t={};for(let n=0;nt8||$;{let e=(0,u.getGlobalThis)(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};r=t("__VUE_INSTANCE_SETTERS__",e=>t8=e),i=t("__VUE_SSR_SETTERS__",e=>nt=e)}let t5=e=>{let t=t8;return r(e),e.scope.on(),()=>{e.scope.off(),r(t)}},t7=()=>{t8&&t8.scope.off(),r(null)};function ne(e){return 4&e.vnode.shapeFlag}let nt=!1;function nn(e,t,n){(0,u.isFunction)(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:(0,u.isObject)(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=(0,a.proxyRefs)(t)),no(e,n)}function nr(e){s=e,l=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,eq))}}let ni=()=>!s;function no(e,t,n){let r=e.type;if(!e.render){if(!t&&s&&!r.render){let t=r.template||__VUE_OPTIONS_API__&&eG(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:o,compilerOptions:l}=r,a=(0,u.extend)((0,u.extend)({isCustomElement:n,delimiters:o},i),l);r.render=s(t,a)}}e.render=r.render||u.NOOP,l&&l(e)}if(__VUE_OPTIONS_API__&&1){let t=t5(e);(0,a.pauseTracking)();try{!function(e){let t=eG(e),n=e.proxy,r=e.ctx;eY=!1,t.beforeCreate&&eK(t.beforeCreate,e,"bc");let{data:i,computed:o,methods:s,watch:l,provide:c,inject:d,created:p,beforeMount:h,mounted:f,beforeUpdate:g,updated:m,activated:y,deactivated:x,beforeDestroy:b,beforeUnmount:k,destroyed:S,unmounted:_,render:w,renderTracked:E,renderTriggered:C,errorCaptured:T,serverPrefetch:A,expose:O,inheritAttrs:M,components:D,directives:N,filters:I}=t;if(d&&function(e,t,n=u.NOOP){for(let n in(0,u.isArray)(e)&&(e=eQ(e)),e){let r,i=e[n];r=(0,u.isObject)(i)?"default"in i?e9(i.from||n,i.default,!0):e9(i.from||n):e9(i),(0,a.isRef)(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(d,r,null),s)for(let e in s){let t=s[e];(0,u.isFunction)(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);(0,u.isObject)(t)&&(e.data=(0,a.reactive)(t))}if(eY=!0,o)for(let e in o){let t=o[e],i=(0,u.isFunction)(t)?t.bind(n,n):(0,u.isFunction)(t.get)?t.get.bind(n,n):u.NOOP,s=nd({get:i,set:!(0,u.isFunction)(t)&&(0,u.isFunction)(t.set)?t.set.bind(n):u.NOOP});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e})}if(l)for(let e in l)!function e(t,n,r,i){var o,s,l,a,c,d,p;let h=i.includes(".")?t_(r,i):()=>r[i];if((0,u.isString)(t)){let e=n[t];(0,u.isFunction)(e)&&(o=h,s=e,tk(o,s,void 0))}else if((0,u.isFunction)(t)){l=h,a=t.bind(r),tk(l,a,void 0)}else if((0,u.isObject)(t))if((0,u.isArray)(t))t.forEach(t=>e(t,n,r,i));else{let e=(0,u.isFunction)(t.handler)?t.handler.bind(r):n[t.handler];(0,u.isFunction)(e)&&(c=h,d=e,p=t,tk(c,d,p))}}(l[e],r,n,e);if(c){let e=(0,u.isFunction)(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{e8(t,e[t])})}function L(e,t){(0,u.isArray)(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(p&&eK(p,e,"c"),L(eE,h),L(eC,f),L(eT,g),L(eA,m),L(eb,y),L(ek,x),L(eL,T),L(eI,E),L(eN,C),L(eO,k),L(eM,_),L(eD,A),(0,u.isArray)(O))if(O.length){let t=e.exposed||(e.exposed={});O.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})})}else e.exposed||(e.exposed={});w&&e.render===u.NOOP&&(e.render=w),null!=M&&(e.inheritAttrs=M),D&&(e.components=D),N&&(e.directives=N),A&&es(e)}(e)}finally{(0,a.resetTracking)(),t()}}}let ns={get:(e,t)=>((0,a.track)(e,"get",""),e[t])};function nl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy((0,a.proxyRefs)((0,a.markRaw)(e.exposed)),{get:(t,n)=>n in t?t[n]:n in ez?ez[n](e):void 0,has:(e,t)=>t in e||t in ez})):e.proxy}let na=/(?:^|[-_])(\w)/g;function nc(e,t=!0){return(0,u.isFunction)(e)?e.displayName||e.name:e.name||t&&e.__name}function nu(e,t,n=!1){let r=nc(t);if(!r&&t.__file){let e=t.__file.match(/([^/\\]+)\.\w+$/);e&&(r=e[1])}if(!r&&e&&e.parent){let n=e=>{for(let n in e)if(e[n]===t)return n};r=n(e.components||e.parent.type.components)||n(e.appContext.components)}return r?r.replace(na,e=>e.toUpperCase()).replace(/[-_]/g,""):n?"App":"Anonymous"}let nd=(e,t)=>(0,a.computed)(e,t,nt);function np(e,t,n){let r=arguments.length;return 2!==r?(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&tq(n)&&(n=[n]),tW(e,t,n)):!(0,u.isObject)(t)||(0,u.isArray)(t)?tW(e,null,t):tq(t)?tW(e,null,[t]):tW(e,t)}function nh(){}let nf="3.5.17",ng=u.NOOP}),u("6Ys9M",function(e,t){let n,r,i,s,l;o(e.exports,"EffectScope",function(){return u}),o(e.exports,"ReactiveEffect",function(){return p}),o(e.exports,"pauseTracking",function(){return w}),o(e.exports,"resetTracking",function(){return E}),o(e.exports,"track",function(){return L}),o(e.exports,"trigger",function(){return V}),o(e.exports,"toRaw",function(){return ev}),o(e.exports,"isShallow",function(){return em}),o(e.exports,"toReactive",function(){return eb}),o(e.exports,"shallowReadArray",function(){return P}),o(e.exports,"isProxy",function(){return ey}),o(e.exports,"isRef",function(){return eS}),o(e.exports,"reactive",function(){return eu}),o(e.exports,"isReadonly",function(){return eg}),o(e.exports,"toReadonly",function(){return ek}),o(e.exports,"shallowReactive",function(){return ed}),o(e.exports,"isReactive",function(){return ef}),o(e.exports,"markRaw",function(){return ex}),o(e.exports,"ref",function(){return e_}),o(e.exports,"shallowRef",function(){return ew}),o(e.exports,"unref",function(){return eT}),o(e.exports,"proxyRefs",function(){return eO}),o(e.exports,"customRef",function(){return eD}),o(e.exports,"computed",function(){return eI}),o(e.exports,"watch",function(){return eB}),o(e.exports,"traverse",function(){return eP});var a=c("fVHkO");class u{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=n,!e&&n&&(this.index=(n.scopes||(n.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0&&0==--this._on&&(n=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,n;for(t=0,this._active=!1,n=this.effects.length;t0)){if(s){let e=s;for(s=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}for(;i;){let t=i;for(i=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){e||(e=t)}t=n}}if(e)throw e}}function m(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function y(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;-1===r.version?(r===n&&(n=e),k(r),function(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function x(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(b(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function b(e){if(4&e.flags&&!(16&e.flags)||(e.flags&=-17,e.globalVersion===T)||(e.globalVersion=T,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!x(e))))return;e.flags|=2;let t=e.dep,n=r,i=S;r=e,S=!0;try{m(e);let n=e.fn(e._value);(0===t.version||(0,a.hasChanged)(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{r=n,S=i,y(e),e.flags&=-3}}function k(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)k(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}let S=!0,_=[];function w(){_.push(S),S=!1}function E(){let e=_.pop();S=void 0===e||e}function C(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=r;r=void 0;try{t()}finally{r=e}}}let T=0;class A{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class O{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!r||!S||r===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==r)t=this.activeLink=new A(r,this),r.deps?(t.prevDep=r.depsTail,r.depsTail.nextDep=t,r.depsTail=t):r.deps=r.depsTail=t,function e(t){if(t.dep.sc++,4&t.sub.flags){let n=t.dep.computed;if(n&&!t.dep.subs){n.flags|=20;for(let t=n.deps;t;t=t.nextDep)e(t)}let r=t.dep.subs;r!==t&&(t.prevSub=r,r&&(r.nextSub=t)),t.dep.subs=t}}(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=r.depsTail,t.nextDep=void 0,r.depsTail.nextDep=t,r.depsTail=t,r.deps===t&&(r.deps=e)}return t}trigger(e){this.version++,T++,this.notify(e)}notify(e){h++;try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{g()}}}let M=new WeakMap,D=Symbol(""),N=Symbol(""),I=Symbol("");function L(e,t,n){if(S&&r){let t=M.get(e);t||M.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new O),r.map=t,r.key=n),r.track()}}function V(e,t,n,r,i,o){let s=M.get(e);if(!s)return void T++;let l=e=>{e&&e.trigger()};if(h++,"clear"===t)s.forEach(l);else{let i=(0,a.isArray)(e),o=i&&(0,a.isIntegerKey)(n);if(i&&"length"===n){let e=Number(r);s.forEach((t,n)=>{("length"===n||n===I||!(0,a.isSymbol)(n)&&n>=e)&&l(t)})}else switch((void 0!==n||s.has(void 0))&&l(s.get(n)),o&&l(s.get(I)),t){case"add":i?o&&l(s.get("length")):(l(s.get(D)),(0,a.isMap)(e)&&l(s.get(N)));break;case"delete":!i&&(l(s.get(D)),(0,a.isMap)(e)&&l(s.get(N)));break;case"set":(0,a.isMap)(e)&&l(s.get(D))}}g()}function B(e){let t=ev(e);return t===e?t:(L(t,"iterate",I),em(e)?t:t.map(eb))}function P(e){return L(e=ev(e),"iterate",I),e}let R={__proto__:null,[Symbol.iterator](){return $(this,Symbol.iterator,eb)},concat(...e){return B(this).concat(...e.map(e=>(0,a.isArray)(e)?B(e):e))},entries(){return $(this,"entries",e=>(e[1]=eb(e[1]),e))},every(e,t){return j(this,"every",e,t,void 0,arguments)},filter(e,t){return j(this,"filter",e,t,e=>e.map(eb),arguments)},find(e,t){return j(this,"find",e,t,eb,arguments)},findIndex(e,t){return j(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return j(this,"findLast",e,t,eb,arguments)},findLastIndex(e,t){return j(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return j(this,"forEach",e,t,void 0,arguments)},includes(...e){return H(this,"includes",e)},indexOf(...e){return H(this,"indexOf",e)},join(e){return B(this).join(e)},lastIndexOf(...e){return H(this,"lastIndexOf",e)},map(e,t){return j(this,"map",e,t,void 0,arguments)},pop(){return U(this,"pop")},push(...e){return U(this,"push",e)},reduce(e,...t){return z(this,"reduce",e,t)},reduceRight(e,...t){return z(this,"reduceRight",e,t)},shift(){return U(this,"shift")},some(e,t){return j(this,"some",e,t,void 0,arguments)},splice(...e){return U(this,"splice",e)},toReversed(){return B(this).toReversed()},toSorted(e){return B(this).toSorted(e)},toSpliced(...e){return B(this).toSpliced(...e)},unshift(...e){return U(this,"unshift",e)},values(){return $(this,"values",eb)}};function $(e,t,n){let r=P(e),i=r[t]();return r===e||em(e)||(i._next=i.next,i.next=()=>{let e=i._next();return e.value&&(e.value=n(e.value)),e}),i}let F=Array.prototype;function j(e,t,n,r,i,o){let s=P(e),l=s!==e&&!em(e),a=s[t];if(a!==F[t]){let t=a.apply(e,o);return l?eb(t):t}let c=n;s!==e&&(l?c=function(t,r){return n.call(this,eb(t),r,e)}:n.length>2&&(c=function(t,r){return n.call(this,t,r,e)}));let u=a.call(s,c,r);return l&&i?i(u):u}function z(e,t,n,r){let i=P(e),o=n;return i!==e&&(em(e)?n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}):o=function(t,r,i){return n.call(this,t,eb(r),i,e)}),i[t](o,...r)}function H(e,t,n){let r=ev(e);L(r,"iterate",I);let i=r[t](...n);return(-1===i||!1===i)&&ey(n[0])?(n[0]=ev(n[0]),r[t](...n)):i}function U(e,t,n=[]){w(),h++;let r=ev(e)[t].apply(e,n);return g(),E(),r}let q=(0,a.makeMap)("__proto__,__v_isRef,__isVue"),J=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(a.isSymbol));function Y(e){(0,a.isSymbol)(e)||(e=String(e));let t=ev(this);return L(t,"has",e),t.hasOwnProperty(e)}class K{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return i;if("__v_raw"===t)return n===(r?i?ec:ea:i?el:es).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let o=(0,a.isArray)(e);if(!r){let e;if(o&&(e=R[t]))return e;if("hasOwnProperty"===t)return Y}let s=Reflect.get(e,t,eS(e)?e:n);return((0,a.isSymbol)(t)?J.has(t):q(t))||(r||L(e,"get",t),i)?s:eS(s)?o&&(0,a.isIntegerKey)(t)?s:s.value:(0,a.isObject)(s)?r?ep(s):eu(s):s}}class G extends K{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t];if(!this._isShallow){let t=eg(i);if(em(n)||eg(n)||(i=ev(i),n=ev(n)),!(0,a.isArray)(e)&&eS(i)&&!eS(n))if(t)return!1;else return i.value=n,!0}let o=(0,a.isArray)(e)&&(0,a.isIntegerKey)(t)?Number(t)e,ee=e=>Reflect.getPrototypeOf(e);function et(e){return function(){return"delete"!==e&&("clear"===e?void 0:this)}}function en(e,t){let n=function(e,t){let n={get(n){let r=this.__v_raw,i=ev(r),o=ev(n);e||((0,a.hasChanged)(n,o)&&L(i,"get",n),L(i,"get",o));let{has:s}=ee(i),l=t?Q:e?ek:eb;return s.call(i,n)?l(r.get(n)):s.call(i,o)?l(r.get(o)):void(r!==i&&r.get(n))},get size(){let t=this.__v_raw;return e||L(ev(t),"iterate",D),Reflect.get(t,"size",t)},has(t){let n=this.__v_raw,r=ev(n),i=ev(t);return e||((0,a.hasChanged)(t,i)&&L(r,"has",t),L(r,"has",i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,o=i.__v_raw,s=ev(o),l=t?Q:e?ek:eb;return e||L(s,"iterate",D),o.forEach((e,t)=>n.call(r,l(e),l(t),i))}};return(0,a.extend)(n,e?{add:et("add"),set:et("set"),delete:et("delete"),clear:et("clear")}:{add(e){t||em(e)||eg(e)||(e=ev(e));let n=ev(this);return ee(n).has.call(n,e)||(n.add(e),V(n,"add",e,e)),this},set(e,n){t||em(n)||eg(n)||(n=ev(n));let r=ev(this),{has:i,get:o}=ee(r),s=i.call(r,e);s||(e=ev(e),s=i.call(r,e));let l=o.call(r,e);return r.set(e,n),s?(0,a.hasChanged)(n,l)&&V(r,"set",e,n,l):V(r,"add",e,n),this},delete(e){let t=ev(this),{has:n,get:r}=ee(t),i=n.call(t,e);i||(e=ev(e),i=n.call(t,e));let o=r?r.call(t,e):void 0,s=t.delete(e);return i&&V(t,"delete",e,void 0,o),s},clear(){let e=ev(this),t=0!==e.size,n=e.clear();return t&&V(e,"clear",void 0,void 0,void 0),n}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=function(...n){let i=this.__v_raw,o=ev(i),s=(0,a.isMap)(o),l="entries"===r||r===Symbol.iterator&&s,c=i[r](...n),u=t?Q:e?ek:eb;return e||L(o,"iterate","keys"===r&&s?N:D),{next(){let{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:l?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}),n}(e,t);return(t,r,i)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get((0,a.hasOwn)(n,r)&&r in t?n:t,r,i)}let er={get:en(!1,!1)},ei={get:en(!1,!0)},eo={get:en(!0,!1)},es=new WeakMap,el=new WeakMap,ea=new WeakMap,ec=new WeakMap;function eu(e){return eg(e)?e:eh(e,!1,W,er,es)}function ed(e){return eh(e,!1,Z,ei,el)}function ep(e){return eh(e,!0,X,eo,ea)}function eh(e,t,n,r,i){if(!(0,a.isObject)(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let o=e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((0,a.toRawType)(e));if(0===o)return e;let s=i.get(e);if(s)return s;let l=new Proxy(e,2===o?r:n);return i.set(e,l),l}function ef(e){return eg(e)?ef(e.__v_raw):!!(e&&e.__v_isReactive)}function eg(e){return!!(e&&e.__v_isReadonly)}function em(e){return!!(e&&e.__v_isShallow)}function ey(e){return!!e&&!!e.__v_raw}function ev(e){let t=e&&e.__v_raw;return t?ev(t):e}function ex(e){return!(0,a.hasOwn)(e,"__v_skip")&&Object.isExtensible(e)&&(0,a.def)(e,"__v_skip",!0),e}let eb=e=>(0,a.isObject)(e)?eu(e):e,ek=e=>(0,a.isObject)(e)?ep(e):e;function eS(e){return!!e&&!0===e.__v_isRef}function e_(e){return eE(e,!1)}function ew(e){return eE(e,!0)}function eE(e,t){return eS(e)?e:new eC(e,t)}class eC{constructor(e,t){this.dep=new O,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:ev(e),this._value=t?e:eb(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||em(e)||eg(e);e=n?e:ev(e),(0,a.hasChanged)(e,t)&&(this._rawValue=e,this._value=n?e:eb(e),this.dep.trigger())}}function eT(e){return eS(e)?e.value:e}let eA={get:(e,t,n)=>"__v_raw"===t?e:eT(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return eS(i)&&!eS(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function eO(e){return ef(e)?e:new Proxy(e,eA)}class eM{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new O,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}}function eD(e){return new eM(e)}class eN{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new O(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=T-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&r!==this)return f(this,!0),!0}get value(){let e=this.dep.track();return b(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function eI(e,t,n=!1){let r,i;return(0,a.isFunction)(e)?r=e:(r=e.get,i=e.set),new eN(r,i,n)}let eL={},eV=new WeakMap;function eB(e,t,r=a.EMPTY_OBJ){let i,o,s,c,{immediate:u,deep:d,once:h,scheduler:f,augmentJob:g,call:m}=r,y=e=>d?e:em(e)||!1===d||0===d?eP(e,1):eP(e),x=!1,b=!1;if(eS(e)?(o=()=>e.value,x=em(e)):ef(e)?(o=()=>y(e),x=!0):(0,a.isArray)(e)?(b=!0,x=e.some(e=>ef(e)||em(e)),o=()=>e.map(e=>eS(e)?e.value:ef(e)?y(e):(0,a.isFunction)(e)?m?m(e,2):e():void 0)):o=(0,a.isFunction)(e)?t?m?()=>m(e,2):e:()=>{if(s){w();try{s()}finally{E()}}let t=l;l=i;try{return m?m(e,3,[c]):e(c)}finally{l=t}}:a.NOOP,t&&d){let e=o,t=!0===d?1/0:d;o=()=>eP(e(),t)}let k=n,S=()=>{i.stop(),k&&k.active&&(0,a.remove)(k.effects,i)};if(h&&t){let e=t;t=(...t)=>{e(...t),S()}}let _=b?Array(e.length).fill(eL):eL,C=e=>{if(1&i.flags&&(i.dirty||e))if(t){let e=i.run();if(d||x||(b?e.some((e,t)=>(0,a.hasChanged)(e,_[t])):(0,a.hasChanged)(e,_))){s&&s();let n=l;l=i;try{let n=[e,_===eL?void 0:b&&_[0]===eL?[]:_,c];_=e,m?m(t,3,n):t(...n)}finally{l=n}}}else i.run()};return g&&g(C),(i=new p(o)).scheduler=f?()=>f(C,!1):C,c=e=>(function(e,t=!1,n=l){if(n){let t=eV.get(n);t||eV.set(n,t=[]),t.push(e)}})(e,!1,i),s=i.onStop=()=>{let e=eV.get(i);if(e){if(m)m(e,4);else for(let t of e)t();eV.delete(i)}},t?u?C(!0):_=i.run():f?f(C.bind(null,!0),!0):i.run(),S.pause=i.pause.bind(i),S.resume=i.resume.bind(i),S.stop=S,S}function eP(e,t=1/0,n){if(t<=0||!(0,a.isObject)(e)||e.__v_skip||(n=n||new Set).has(e))return e;if(n.add(e),t--,eS(e))eP(e.value,t,n);else if((0,a.isArray)(e))for(let r=0;r{eP(e,t,n)});else if((0,a.isPlainObject)(e)){for(let r in e)eP(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&eP(e[r],t,n)}return e}}),u("fVHkO",function(e,t){let n;function r(e){let t=Object.create(null);for(let n of e.split(","))t[n]=1;return e=>e in t}o(e.exports,"makeMap",function(){return r}),o(e.exports,"EMPTY_OBJ",function(){return i}),o(e.exports,"EMPTY_ARR",function(){return l}),o(e.exports,"NOOP",function(){return a}),o(e.exports,"NO",function(){return c}),o(e.exports,"isOn",function(){return u}),o(e.exports,"isModelListener",function(){return d}),o(e.exports,"extend",function(){return p}),o(e.exports,"remove",function(){return h}),o(e.exports,"hasOwn",function(){return g}),o(e.exports,"isArray",function(){return m}),o(e.exports,"isMap",function(){return y}),o(e.exports,"isSet",function(){return x}),o(e.exports,"isRegExp",function(){return k}),o(e.exports,"isFunction",function(){return S}),o(e.exports,"isString",function(){return _}),o(e.exports,"isSymbol",function(){return w}),o(e.exports,"isObject",function(){return E}),o(e.exports,"isPromise",function(){return C}),o(e.exports,"toRawType",function(){return O}),o(e.exports,"isPlainObject",function(){return M}),o(e.exports,"isIntegerKey",function(){return D}),o(e.exports,"isReservedProp",function(){return N}),o(e.exports,"isBuiltInDirective",function(){return I}),o(e.exports,"camelize",function(){return B}),o(e.exports,"hyphenate",function(){return R}),o(e.exports,"capitalize",function(){return $}),o(e.exports,"toHandlerKey",function(){return F}),o(e.exports,"hasChanged",function(){return j}),o(e.exports,"invokeArrayFns",function(){return z}),o(e.exports,"def",function(){return H}),o(e.exports,"looseToNumber",function(){return U}),o(e.exports,"toNumber",function(){return q}),o(e.exports,"getGlobalThis",function(){return J}),o(e.exports,"genCacheKey",function(){return Y}),o(e.exports,"isGloballyAllowed",function(){return K}),o(e.exports,"generateCodeFrame",function(){return G}),o(e.exports,"normalizeStyle",function(){return function e(t){if(m(t)){let n={};for(let r=0;r{},c=()=>!1,u=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||97>e.charCodeAt(2)),d=e=>e.startsWith("onUpdate:"),p=Object.assign,h=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},f=Object.prototype.hasOwnProperty,g=(e,t)=>f.call(e,t),m=Array.isArray,y=e=>"[object Map]"===A(e),x=e=>"[object Set]"===A(e),b=e=>"[object Date]"===A(e),k=e=>"[object RegExp]"===A(e),S=e=>"function"==typeof e,_=e=>"string"==typeof e,w=e=>"symbol"==typeof e,E=e=>null!==e&&"object"==typeof e,C=e=>(E(e)||S(e))&&S(e.then)&&S(e.catch),T=Object.prototype.toString,A=e=>T.call(e),O=e=>A(e).slice(8,-1),M=e=>"[object Object]"===A(e),D=e=>_(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,N=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),I=r("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),L=e=>{let t=Object.create(null);return n=>t[n]||(t[n]=e(n))},V=/-(\w)/g,B=L(e=>e.replace(V,(e,t)=>t?t.toUpperCase():"")),P=/\B([A-Z])/g,R=L(e=>e.replace(P,"-$1").toLowerCase()),$=L(e=>e.charAt(0).toUpperCase()+e.slice(1)),F=L(e=>e?`on${$(e)}`:""),j=(e,t)=>!Object.is(e,t),z=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},U=e=>{let t=parseFloat(e);return isNaN(t)?e:t},q=e=>{let t=_(e)?Number(e):NaN;return isNaN(t)?e:t},J=()=>n||(n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==s?s:{});function Y(e,t){return e+JSON.stringify(t,(e,t)=>"function"==typeof t?t.toString():t)}let K=r("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");function G(e,t=0,n=e.length){if((t=Math.max(0,Math.min(t,e.length)))>(n=Math.max(0,Math.min(n,e.length))))return"";let r=e.split(/(\r?\n)/),i=r.filter((e,t)=>t%2==1);r=r.filter((e,t)=>t%2==0);let o=0,s=[];for(let e=0;e=t){for(let l=e-2;l<=e+2||n>o;l++){if(l<0||l>=r.length)continue;let a=l+1;s.push(`${a}${" ".repeat(Math.max(3-String(a).length,0))}| ${r[l]}`);let c=r[l].length,u=i[l]&&i[l].length||0;if(l===e){let e=t-(o-(c+u)),r=Math.max(1,n>o?c-e:n-t);s.push(" | "+" ".repeat(e)+"^".repeat(r))}else if(l>e){if(n>o){let e=Math.max(Math.min(n-o,c),1);s.push(" | "+"^".repeat(e))}o+=c+u}}break}return s.join("\n")}let W=/;(?![^(]*\))/g,X=/:([^]+)/,Z=/\/\*[^]*?\*\//g;function Q(e){let t={};return e.replace(Z,"").split(W).forEach(e=>{if(e){let n=e.split(X);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ee(e){if(!e)return"";if(_(e))return e;let t="";for(let n in e){let r=e[n];if(_(r)||"number"==typeof r){let e=n.startsWith("--")?n:R(n);t+=`${e}:${r};`}}return t}let et=r("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"),en=r("svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"),er=r("annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"),ei=r("area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"),eo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",es=r(eo),el=r(eo+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");function ea(e){return!!e||""===e}let ec=r("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),eu=r("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan");function ed(e){if(null==e)return!1;let t=typeof e;return"string"===t||"number"===t||"boolean"===t}let ep=/[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g;function eh(e,t){return e.replace(ep,e=>t?'"'===e?'\\\\\\"':`\\\\${e}`:`\\${e}`)}function ef(e,t){if(e===t)return!0;let n=b(e),r=b(t);if(n||r)return!!n&&!!r&&e.getTime()===t.getTime();if(n=w(e),r=w(t),n||r)return e===t;if(n=m(e),r=m(t),n||r)return!!n&&!!r&&function(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&ref(e,t))}let em=e=>!!(e&&!0===e.__v_isRef),ey=e=>_(e)?e:null==e?"":m(e)||E(e)&&(e.toString===T||!S(e.toString))?em(e)?ey(e.value):JSON.stringify(e,ev,2):String(e),ev=(e,t)=>{if(em(t))return ev(e,t.value);if(y(t))return{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[ex(t,r)+" =>"]=n,e),{})};if(x(t))return{[`Set(${t.size})`]:[...t.values()].map(e=>ex(e))};if(w(t))return ex(t);if(E(t)&&!m(t)&&!M(t))return String(t);return t},ex=(e,t="")=>{var n;return w(e)?`Symbol(${null!=(n=e.description)?n:t})`:e}}),u("fNp5a",function(e,t){let n,r;o(e.exports,"BaseTransition",function(){return c("iADb3").BaseTransition}),o(e.exports,"BaseTransitionPropsValidators",function(){return c("iADb3").BaseTransitionPropsValidators}),o(e.exports,"callWithAsyncErrorHandling",function(){return c("iADb3").callWithAsyncErrorHandling}),o(e.exports,"camelize",function(){return c("fVHkO").camelize}),o(e.exports,"computed",function(){return c("iADb3").computed}),o(e.exports,"createBlock",function(){return c("iADb3").createBlock}),o(e.exports,"createCommentVNode",function(){return c("iADb3").createCommentVNode}),o(e.exports,"createElementBlock",function(){return c("iADb3").createElementBlock}),o(e.exports,"createElementVNode",function(){return c("iADb3").createElementVNode}),o(e.exports,"createHydrationRenderer",function(){return c("iADb3").createHydrationRenderer}),o(e.exports,"createRenderer",function(){return c("iADb3").createRenderer}),o(e.exports,"createTextVNode",function(){return c("iADb3").createTextVNode}),o(e.exports,"createVNode",function(){return c("iADb3").createVNode}),o(e.exports,"defineComponent",function(){return c("iADb3").defineComponent}),o(e.exports,"Fragment",function(){return c("iADb3").Fragment}),o(e.exports,"getCurrentInstance",function(){return c("iADb3").getCurrentInstance}),o(e.exports,"getTransitionRawChildren",function(){return c("iADb3").getTransitionRawChildren}),o(e.exports,"h",function(){return c("iADb3").h}),o(e.exports,"initCustomFormatter",function(){return c("iADb3").initCustomFormatter}),o(e.exports,"inject",function(){return c("iADb3").inject}),o(e.exports,"isRuntimeOnly",function(){return c("iADb3").isRuntimeOnly}),o(e.exports,"nextTick",function(){return c("iADb3").nextTick}),o(e.exports,"normalizeClass",function(){return c("fVHkO").normalizeClass}),o(e.exports,"onBeforeUpdate",function(){return c("iADb3").onBeforeUpdate}),o(e.exports,"onMounted",function(){return c("iADb3").onMounted}),o(e.exports,"onUnmounted",function(){return c("iADb3").onUnmounted}),o(e.exports,"onUpdated",function(){return c("iADb3").onUpdated}),o(e.exports,"openBlock",function(){return c("iADb3").openBlock}),o(e.exports,"provide",function(){return c("iADb3").provide}),o(e.exports,"queuePostFlushCb",function(){return c("iADb3").queuePostFlushCb}),o(e.exports,"reactive",function(){return c("6Ys9M").reactive}),o(e.exports,"ref",function(){return c("6Ys9M").ref}),o(e.exports,"registerRuntimeCompiler",function(){return c("iADb3").registerRuntimeCompiler}),o(e.exports,"renderList",function(){return c("iADb3").renderList}),o(e.exports,"renderSlot",function(){return c("iADb3").renderSlot}),o(e.exports,"resolveComponent",function(){return c("iADb3").resolveComponent}),o(e.exports,"resolveTransitionHooks",function(){return c("iADb3").resolveTransitionHooks}),o(e.exports,"setTransitionHooks",function(){return c("iADb3").setTransitionHooks}),o(e.exports,"Static",function(){return c("iADb3").Static}),o(e.exports,"toRaw",function(){return c("6Ys9M").toRaw}),o(e.exports,"useTransitionState",function(){return c("iADb3").useTransitionState}),o(e.exports,"version",function(){return c("iADb3").version}),o(e.exports,"warn",function(){return c("iADb3").warn}),o(e.exports,"watch",function(){return c("iADb3").watch}),o(e.exports,"withDirectives",function(){return c("iADb3").withDirectives}),o(e.exports,"toDisplayString",function(){return c("fVHkO").toDisplayString}),o(e.exports,"createApp",function(){return W}),o(e.exports,"vModelText",function(){return B}),o(e.exports,"vModelCheckbox",function(){return P}),o(e.exports,"vModelRadio",function(){return $}),o(e.exports,"vModelSelect",function(){return F}),o(e.exports,"withModifiers",function(){return J}),o(e.exports,"withKeys",function(){return K});var i=c("iADb3"),s=c("fVHkO"),l=c("6Ys9M");c("fVHkO");var l=c("6Ys9M"),s=c("fVHkO");let a="undefined"!=typeof window&&window.trustedTypes;if(a)try{r=a.createPolicy("vue",{createHTML:e=>e})}catch(e){}let u=r?e=>r.createHTML(e):e=>e,d="undefined"!=typeof document?document:null,p=d&&d.createElement("template"),h=Symbol("_vtc");i.BaseTransitionPropsValidators;let f=Symbol("_vod"),g=Symbol("_vsh"),m=Symbol(""),y=/(^|;)\s*display\s*:/,x=/\s*!important$/;function b(e,t,n){if((0,s.isArray)(n))n.forEach(n=>b(e,t,n));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{let r=function(e,t){let n=S[t];if(n)return n;let r=(0,s.camelize)(t);if("filter"!==r&&r in e)return S[t]=r;r=(0,s.capitalize)(r);for(let n=0;n111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&123>e.charCodeAt(2);"undefined"!=typeof HTMLElement&&HTMLElement,Symbol("_moveCb"),Symbol("_enterCb");let N=e=>{let t=e.props["onUpdate:modelValue"]||!1;return(0,s.isArray)(t)?e=>(0,s.invokeArrayFns)(t,e):t};function I(e){e.target.composing=!0}function L(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}let V=Symbol("_assign"),B={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[V]=N(i);let o=r||i.props&&"number"===i.props.type;C(e,t?"change":"input",t=>{if(t.target.composing)return;let r=e.value;n&&(r=r.trim()),o&&(r=(0,s.looseToNumber)(r)),e[V](r)}),n&&C(e,"change",()=>{e.value=e.value.trim()}),t||(C(e,"compositionstart",I),C(e,"compositionend",L),C(e,"change",L))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:o}},l){if(e[V]=N(l),e.composing)return;let a=(o||"number"===e.type)&&!/^0\d/.test(e.value)?(0,s.looseToNumber)(e.value):e.value,c=null==t?"":t;if(a!==c){if(document.activeElement===e&&"range"!==e.type&&(r&&t===n||i&&e.value.trim()===c))return;e.value=c}}},P={deep:!0,created(e,t,n){e[V]=N(n),C(e,"change",()=>{let t=e._modelValue,n=z(e),r=e.checked,i=e[V];if((0,s.isArray)(t)){let e=(0,s.looseIndexOf)(t,n),o=-1!==e;if(r&&!o)i(t.concat(n));else if(!r&&o){let n=[...t];n.splice(e,1),i(n)}}else if((0,s.isSet)(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(H(e,r))})},mounted:R,beforeUpdate(e,t,n){e[V]=N(n),R(e,t,n)}};function R(e,{value:t,oldValue:n},r){let i;if(e._modelValue=t,(0,s.isArray)(t))i=(0,s.looseIndexOf)(t,r.props.value)>-1;else if((0,s.isSet)(t))i=t.has(r.props.value);else{if(t===n)return;i=(0,s.looseEqual)(t,H(e,!0))}e.checked!==i&&(e.checked=i)}let $={created(e,{value:t},n){e.checked=(0,s.looseEqual)(t,n.props.value),e[V]=N(n),C(e,"change",()=>{e[V](z(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[V]=N(r),t!==n&&(e.checked=(0,s.looseEqual)(t,r.props.value))}},F={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let o=(0,s.isSet)(t);C(e,"change",()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?(0,s.looseToNumber)(z(e)):z(e));e[V](e.multiple?o?new Set(t):t:t[0]),e._assigning=!0,(0,i.nextTick)(()=>{e._assigning=!1})}),e[V]=N(r)},mounted(e,{value:t}){j(e,t)},beforeUpdate(e,t,n){e[V]=N(n)},updated(e,{value:t}){e._assigning||j(e,t)}};function j(e,t){let n=e.multiple,r=(0,s.isArray)(t);if(!n||r||(0,s.isSet)(t)){for(let i=0,o=e.options.length;iString(e)===String(l)):o.selected=(0,s.looseIndexOf)(t,l)>-1}else o.selected=t.has(l);else if((0,s.looseEqual)(z(o),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function z(e){return"_value"in e?e._value:e.value}function H(e,t){let n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}let U=["ctrl","shift","alt","meta"],q={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>U.some(n=>e[`${n}Key`]&&!t.includes(n))},J=(e,t)=>{let n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(n,...r)=>{for(let e=0;e{let n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=n=>{if(!("key"in n))return;let r=(0,s.hyphenate)(n.key);if(t.some(e=>e===r||Y[e]===r))return e(n)})},G=(0,s.extend)({patchProp:(e,t,n,r,o,l)=>{let a="svg"===o;if("class"===t){var c=r;let t=e[h];t&&(c=(c?[c,...t]:[...t]).join(" ")),null==c?e.removeAttribute("class"):a?e.setAttribute("class",c):e.className=c}else"style"===t?function(e,t,n){let r=e.style,i=(0,s.isString)(n),o=!1;if(n&&!i){if(t)if((0,s.isString)(t))for(let e of t.split(";")){let t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&b(r,t,"")}else for(let e in t)null==n[e]&&b(r,e,"");for(let e in n)"display"===e&&(o=!0),b(r,e,n[e])}else if(i){if(t!==n){let e=r[m];e&&(n+=";"+e),r.cssText=n,o=y.test(n)}}else t&&e.removeAttribute("style");f in e&&(e[f]=o?r.display:"",e[g]&&(r.display="none"))}(e,n,r):(0,s.isOn)(t)?(0,s.isModelListener)(t)||function(e,t,n,r,o=null){let l=e[T]||(e[T]={}),a=l[t];if(r&&a)a.value=r;else{let[n,c]=function(e){let t;if(A.test(e)){let n;for(t={};n=e.match(A);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):(0,s.hyphenate)(e.slice(2)),t]}(t);if(r)C(e,n,l[t]=function(e,t){let n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();(0,i.callWithAsyncErrorHandling)(function(e,t){if(!(0,s.isArray)(t))return t;{let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}}(e,n.value),t,5,[e])};return n.value=e,n.attached=O||(M.then(()=>O=0),O=Date.now()),n}(r,o),c);else a&&(e.removeEventListener(n,a,c),l[t]=void 0)}}(e,t,0,r,l):("."===t[0]?(t=t.slice(1),0):"^"===t[0]?(t=t.slice(1),1):!function(e,t,n,r){if(r)return!!("innerHTML"===t||"textContent"===t||t in e&&D(t)&&(0,s.isFunction)(n));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t||"form"===t||"list"===t&&"INPUT"===e.tagName||"type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){let t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return!(D(t)&&(0,s.isString)(n))&&t in e}(e,t,r,a))?e._isVueCE&&(/[A-Z]/.test(t)||!(0,s.isString)(r))?E(e,(0,s.camelize)(t),r,l,t):("true-value"===t?e._trueValue=r:"false-value"===t&&(e._falseValue=r),w(e,t,r,a)):(E(e,t,r),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||w(e,t,r,a,l,"value"!==t))}},{insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i="svg"===t?d.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?d.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?d.createElement(e,{is:n}):d.createElement(e);return"select"===e&&r&&null!=r.multiple&&i.setAttribute("multiple",r.multiple),i},createText:e=>d.createTextNode(e),createComment:e=>d.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>d.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,i,o){let s=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==o&&(i=i.nextSibling););else{p.innerHTML=u("svg"===r?`${e}`:"mathml"===r?`${e}`:e);let i=p.content;if("svg"===r||"mathml"===r){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}}),W=(...e)=>{let t=(n||(n=(0,i.createRenderer)(G))).createApp(...e),{mount:r}=t;return t.mount=e=>{var n,i;let o=(n=e,(0,s.isString)(n)?document.querySelector(n):n);if(!o)return;let l=t._component;(0,s.isFunction)(l)||l.render||l.template||(l.template=o.innerHTML),1===o.nodeType&&(o.textContent="");let a=r(o,!1,(i=o)instanceof SVGElement?"svg":"function"==typeof MathMLElement&&i instanceof MathMLElement?"mathml":void 0);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),a},t}}),u("j0b99",function(e,t){let n;o(e.exports,"compile",function(){return A});var r=c("3J0b1"),i=c("fVHkO");let s=Symbol(""),l=Symbol(""),a=Symbol(""),u=Symbol(""),d=Symbol(""),p=Symbol(""),h=Symbol(""),f=Symbol(""),g=Symbol(""),m=Symbol("");(0,r.registerRuntimeHelpers)({[s]:"vModelRadio",[l]:"vModelCheckbox",[a]:"vModelText",[u]:"vModelSelect",[d]:"vModelDynamic",[p]:"withModifiers",[h]:"withKeys",[f]:"vShow",[g]:"Transition",[m]:"TransitionGroup"});let y={parseMode:"html",isVoidTag:i.isVoidTag,isNativeTag:e=>(0,i.isHTMLTag)(e)||(0,i.isSVGTag)(e)||(0,i.isMathMLTag)(e),isPreTag:e=>"pre"===e,isIgnoreNewlineTag:e=>"pre"===e||"textarea"===e,decodeEntities:function(e,t=!1){return(n||(n=document.createElement("div")),t)?(n.innerHTML=`
`,n.children[0].getAttribute("foo")):(n.innerHTML=e,n.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?g:"TransitionGroup"===e||"transition-group"===e?m:void 0,getNamespace(e,t,n){let r=t?t.ns:n;if(t&&2===r)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some(e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content))&&(r=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(r=0);else t&&1===r&&("foreignObject"===t.tag||"desc"===t.tag||"title"===t.tag)&&(r=0);if(0===r){if("svg"===e)return 1;if("math"===e)return 2}return r}};function x(e,t){return(0,r.createCompilerError)(e,t,void 0)}let b=(0,i.makeMap)("passive,once,capture"),k=(0,i.makeMap)("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),S=(0,i.makeMap)("left,right"),_=(0,i.makeMap)("onkeyup,onkeydown,onkeypress"),w=(e,t)=>(0,r.isStaticExp)(e)&&"onclick"===e.content.toLowerCase()?(0,r.createSimpleExpression)(t,!0):4!==e.type?(0,r.createCompoundExpression)(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,E=(e,t)=>{1===e.type&&0===e.tagType&&("script"===e.tag||"style"===e.tag)&&t.removeNode()},C=[e=>{1===e.type&&e.props.forEach((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:(0,r.createSimpleExpression)("style",!0,t.loc),exp:((e,t)=>{let n=(0,i.parseStringStyle)(e);return(0,r.createSimpleExpression)(JSON.stringify(n),!1,t,3)})(t.value.content,t.loc),modifiers:[],loc:t.loc})})}],T={cloak:r.noopDirectiveTransform,html:(e,t,n)=>{let{exp:i,loc:o}=e;return i||n.onError(x(53,o)),t.children.length&&(n.onError(x(54,o)),t.children.length=0),{props:[(0,r.createObjectProperty)((0,r.createSimpleExpression)("innerHTML",!0,o),i||(0,r.createSimpleExpression)("",!0))]}},text:(e,t,n)=>{let{exp:i,loc:o}=e;return i||n.onError(x(55,o)),t.children.length&&(n.onError(x(56,o)),t.children.length=0),{props:[(0,r.createObjectProperty)((0,r.createSimpleExpression)("textContent",!0),i?(0,r.getConstantType)(i,n)>0?i:(0,r.createCallExpression)(n.helperString(r.TO_DISPLAY_STRING),[i],o):(0,r.createSimpleExpression)("",!0))]}},model:(e,t,n)=>{let i=(0,r.transformModel)(e,t,n);if(!i.props.length||1===t.tagType)return i;e.arg&&n.onError(x(58,e.arg.loc));let{tag:o}=t,c=n.isCustomElement(o);if("input"===o||"textarea"===o||"select"===o||c){let p=a,h=!1;if("input"===o||c){let i=(0,r.findProp)(t,"type");if(i){if(7===i.type)p=d;else if(i.value)switch(i.value.content){case"radio":p=s;break;case"checkbox":p=l;break;case"file":h=!0,n.onError(x(59,e.loc))}}else(0,r.hasDynamicKeyVBind)(t)&&(p=d)}else"select"===o&&(p=u);h||(i.needRuntime=n.helper(p))}else n.onError(x(57,e.loc));return i.props=i.props.filter(e=>4!==e.key.type||"modelValue"!==e.key.content),i},on:(e,t,n)=>(0,r.transformOn)(e,t,n,t=>{let{modifiers:o}=e;if(!o.length)return t;let{key:s,value:l}=t.props[0],{keyModifiers:a,nonKeyModifiers:c,eventOptionModifiers:u}=((e,t,n,i)=>{let o=[],s=[],l=[];for(let a=0;a{let{exp:r,loc:i}=e;return r||n.onError(x(61,i)),{props:[],needRuntime:n.helper(f)}}};function A(e,t={}){return(0,r.baseCompile)(e,(0,i.extend)({},y,t,{nodeTransforms:[E,...C,...t.nodeTransforms||[]],directiveTransforms:(0,i.extend)({},T,t.directiveTransforms||{}),transformHoist:null}))}}),u("3J0b1",function(e,t){o(e.exports,"TO_DISPLAY_STRING",function(){return T}),o(e.exports,"registerRuntimeHelpers",function(){return J}),o(e.exports,"createObjectProperty",function(){return X}),o(e.exports,"createSimpleExpression",function(){return Z}),o(e.exports,"createCompoundExpression",function(){return Q}),o(e.exports,"createCallExpression",function(){return ee}),o(e.exports,"checkCompatEnabled",function(){return eh}),o(e.exports,"createCompilerError",function(){return em}),o(e.exports,"isStaticExp",function(){return ey}),o(e.exports,"findDir",function(){return eT}),o(e.exports,"findProp",function(){return eA}),o(e.exports,"isStaticArgOf",function(){return eO}),o(e.exports,"hasDynamicKeyVBind",function(){return eM}),o(e.exports,"baseParse",function(){return tl}),o(e.exports,"getConstantType",function(){return tc}),o(e.exports,"transformOn",function(){return tH}),o(e.exports,"transformModel",function(){return tY}),o(e.exports,"baseCompile",function(){return t1}),o(e.exports,"noopDirectiveTransform",function(){return t2});var n=c("fVHkO");let r=Symbol(""),i=Symbol(""),s=Symbol(""),l=Symbol(""),a=Symbol(""),u=Symbol(""),d=Symbol(""),p=Symbol(""),h=Symbol(""),f=Symbol(""),g=Symbol(""),m=Symbol(""),y=Symbol(""),x=Symbol(""),b=Symbol(""),k=Symbol(""),S=Symbol(""),_=Symbol(""),w=Symbol(""),E=Symbol(""),C=Symbol(""),T=Symbol(""),A=Symbol(""),O=Symbol(""),M=Symbol(""),D=Symbol(""),N=Symbol(""),I=Symbol(""),L=Symbol(""),V=Symbol(""),B=Symbol(""),P=Symbol(""),R=Symbol(""),$=Symbol(""),F=Symbol(""),j=Symbol(""),z=Symbol(""),H=Symbol(""),U=Symbol(""),q={[r]:"Fragment",[i]:"Teleport",[s]:"Suspense",[l]:"KeepAlive",[a]:"BaseTransition",[u]:"openBlock",[d]:"createBlock",[p]:"createElementBlock",[h]:"createVNode",[f]:"createElementVNode",[g]:"createCommentVNode",[m]:"createTextVNode",[y]:"createStaticVNode",[x]:"resolveComponent",[b]:"resolveDynamicComponent",[k]:"resolveDirective",[S]:"resolveFilter",[_]:"withDirectives",[w]:"renderList",[E]:"renderSlot",[C]:"createSlots",[T]:"toDisplayString",[A]:"mergeProps",[O]:"normalizeClass",[M]:"normalizeStyle",[D]:"normalizeProps",[N]:"guardReactiveProps",[I]:"toHandlers",[L]:"camelize",[V]:"capitalize",[B]:"toHandlerKey",[P]:"setBlockTracking",[R]:"pushScopeId",[$]:"popScopeId",[F]:"withCtx",[j]:"unref",[z]:"isRef",[H]:"withMemo",[U]:"isMemoSame"};function J(e){Object.getOwnPropertySymbols(e).forEach(t=>{q[t]=e[t]})}let Y={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function K(e,t,n,r,i,o,s,l=!1,a=!1,c=!1,g=Y){var m,y,x,b;return e&&(l?(e.helper(u),e.helper((m=e.inSSR,y=c,m||y?d:p))):e.helper((x=e.inSSR,b=c,x||b?h:f)),s&&e.helper(_)),{type:13,tag:t,props:n,children:r,patchFlag:i,dynamicProps:o,directives:s,isBlock:l,disableTracking:a,isComponent:c,loc:g}}function G(e,t=Y){return{type:17,loc:t,elements:e}}function W(e,t=Y){return{type:15,loc:t,properties:e}}function X(e,t){return{type:16,loc:Y,key:(0,n.isString)(e)?Z(e,!0):e,value:t}}function Z(e,t=!1,n=Y,r=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:r}}function Q(e,t=Y){return{type:8,loc:t,children:e}}function ee(e,t=[],n=Y){return{type:14,loc:n,callee:e,arguments:t}}function et(e,t,n=!1,r=!1,i=Y){return{type:18,params:e,returns:t,newline:n,isSlot:r,loc:i}}function en(e,t,n,r=!0){return{type:19,test:e,consequent:t,alternate:n,newline:r,loc:Y}}function er(e,{helper:t,removeHelper:n,inSSR:r}){if(!e.isBlock){var i,o;e.isBlock=!0,n((i=e.isComponent,r||i?h:f)),t(u),t((o=e.isComponent,r||o?d:p))}}let ei=new Uint8Array([123,123]),eo=new Uint8Array([125,125]);function es(e){return e>=97&&e<=122||e>=65&&e<=90}function el(e){return 32===e||10===e||9===e||12===e||13===e}function ea(e){return 47===e||62===e||el(e)}function ec(e){let t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function ev(e){switch(e){case"Teleport":case"teleport":return i;case"Suspense":case"suspense":return s;case"KeepAlive":case"keep-alive":return l;case"BaseTransition":case"base-transition":return a}}let ex=/^\d|[^\$\w\xA0-\uFFFF]/,eb=e=>!ex.test(e),ek=/[A-Za-z_$\xA0-\uFFFF]/,eS=/[\.\?\w$\xA0-\uFFFF]/,e_=/\s+[.[]\s*|\s*[.[]\s+/g,ew=e=>4===e.type?e.content:e.loc.source;n.NOOP;let eE=e=>{let t=ew(e).trim().replace(e_,e=>e.trim()),n=0,r=[],i=0,o=0,s=null;for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;function eT(e,t,r=!1){for(let i=0;i7===e.type&&"bind"===e.name&&(!e.arg||4!==e.arg.type||!e.arg.isStatic))}function eD(e){return 5===e.type||2===e.type}function eN(e){return 7===e.type&&"slot"===e.name}function eI(e){return 1===e.type&&3===e.tagType}function eL(e){return 1===e.type&&2===e.tagType}n.NOOP;let eV=new Set([D,N]);function eB(e,t,r){let i,o,s=13===e.type?e.props:e.arguments[2],l=[];if(s&&!(0,n.isString)(s)&&14===s.type){let e=function e(t,r=[]){if(t&&!(0,n.isString)(t)&&14===t.type){let i=t.callee;if(!(0,n.isString)(i)&&eV.has(i))return e(t.arguments[0],r.concat(t))}return[t,r]}(s);s=e[0],o=(l=e[1])[l.length-1]}if(null==s||(0,n.isString)(s))i=W([t]);else if(14===s.type){let e=s.arguments[0];(0,n.isString)(e)||15!==e.type?s.callee===I?i=ee(r.helper(A),[W([t]),s]):s.arguments.unshift(W([t])):eP(t,e)||e.properties.unshift(t),i||(i=s)}else 15===s.type?(eP(t,s)||s.properties.unshift(t),i=s):(i=ee(r.helper(A),[W([t]),s]),o&&o.callee===N&&(o=l[l.length-2]));13===e.type?o?o.arguments[0]=i:e.props=i:o?o.arguments[0]=i:e.arguments[2]=i}function eP(e,t){let n=!1;if(4===e.key.type){let r=e.key.content;n=t.properties.some(e=>4===e.key.type&&e.key.content===r)}return n}function eR(e,t){return`_${t}_${e.replace(/[^\w]/g,(t,n)=>"-"===t?"_":e.charCodeAt(n).toString())}`}let e$=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,eF={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:n.NO,isPreTag:n.NO,isIgnoreNewlineTag:n.NO,isCustomElement:n.NO,onError:ef,onWarn:eg,comments:!1,prefixIdentifiers:!1},ej=eF,ez=null,eH="",eU=null,eq=null,eJ="",eY=-1,eK=-1,eG=0,eW=!1,eX=null,eZ=[],eQ=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=ei,this.delimiterClose=eo,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=ei,this.delimiterClose=eo}getPos(e){let t=1,n=e+1;for(let r=this.newlines.length-1;r>=0;r--){let i=this.newlines[r];if(e>i){t=r+2,n=e-i;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){let e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){let t=this.sequenceIndex===this.currentSequence.length;if(t?ea(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||el(e)){let t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===eu.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(eZ,{onerr:ts,ontext(e,t){e6(e2(e,t),e,t)},ontextentity(e,t,n){e6(e,t,n)},oninterpolation(e,t){if(eW)return e6(e2(e,t),e,t);let n=e+eQ.delimiterOpen.length,r=t-eQ.delimiterClose.length;for(;el(eH.charCodeAt(n));)n++;for(;el(eH.charCodeAt(r-1));)r--;let i=e2(n,r);i.includes("&")&&(i=ej.decodeEntities(i,!1)),tn({type:5,content:to(i,!1,tr(n,r)),loc:tr(e,t)})},onopentagname(e,t){let n=e2(e,t);eU={type:1,tag:n,ns:ej.getNamespace(n,eZ[0],ej.ns),tagType:0,props:[],children:[],loc:tr(e-1,t),codegenNode:void 0}},onopentagend(e){e3(e)},onclosetag(e,t){let n=e2(e,t);if(!ej.isVoidTag(n)){let r=!1;for(let e=0;e0&&ts(24,eZ[0].loc.start.offset);for(let n=0;n<=e;n++)e4(eZ.shift(),t,n(7===e.type?e.rawName:e.name)===n)&&ts(2,t)},onattribend(e,t){if(eU&&eq){if(ti(eq.loc,t),0!==e)if(eJ.includes("&")&&(eJ=ej.decodeEntities(eJ,!0)),6===eq.type)"class"===eq.name&&(eJ=tt(eJ).trim()),1!==e||eJ||ts(13,t),eq.value={type:2,content:eJ,loc:1===e?tr(eY,eK):tr(eY-1,eK+1)},eQ.inSFCRoot&&"template"===eU.tag&&"lang"===eq.name&&eJ&&"html"!==eJ&&eQ.enterRCDATA(ec("{let i=t.start.offset+n,o=i+e.length;return to(e,!1,tr(i,o),0,+!!r)},l={source:s(o.trim(),n.indexOf(o,i.length)),value:void 0,key:void 0,index:void 0,finalized:!1},a=i.trim().replace(e1,"").trim(),c=i.indexOf(a),u=a.match(e0);if(u){let e;a=a.replace(e0,"").trim();let t=u[1].trim();if(t&&(e=n.indexOf(t,c+a.length),l.key=s(t,e,!0)),u[2]){let r=u[2].trim();r&&(l.index=s(r,n.indexOf(r,l.key?e+t.length:c+a.length),!0))}}return a&&(l.value=s(a,c,!0)),l}(eq.exp));let e=-1;"bind"===eq.name&&(e=eq.modifiers.findIndex(e=>"sync"===e.content))>-1&&(n=ej,eq.loc,eq.arg.loc.source,ep("COMPILER_V_BIND_SYNC",n))&&(eq.name="model",eq.modifiers.splice(e,1))}(7!==eq.type||"pre"!==eq.name)&&eU.props.push(eq)}eJ="",eY=eK=-1},oncomment(e,t){ej.comments&&tn({type:3,content:e2(e,t),loc:tr(e-4,t+3)})},onend(){let e=eH.length;for(let t=0;t64&&n<91||ev(e)||ej.isBuiltInComponent&&ej.isBuiltInComponent(e)||ej.isNativeTag&&!ej.isNativeTag(e))return!0;for(let e=0;e6===e.type&&"inline-template"===e.name);n&&(l=ej,n.loc,ep("COMPILER_INLINE_TEMPLATE",l))&&e.children.length&&(n.value={type:2,content:e2(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:n.loc})}}function e8(e,t){let n=e;for(;eH.charCodeAt(n)!==t&&n>=0;)n--;return n}let e9=new Set(["if","else","else-if","for","slot"]);function e5({tag:e,props:t}){if("template"===e){for(let e=0;e3!==e.type);return 1!==t.length||1!==t[0].type||eL(t[0])?null:t[0]}function tc(e,t){let{constantCache:r}=t;switch(e.type){case 1:if(0!==e.tagType)return 0;let i=r.get(e);if(void 0!==i)return i;let o=e.codegenNode;if(13!==o.type||o.isBlock&&"svg"!==e.tag&&"foreignObject"!==e.tag&&"math"!==e.tag)return 0;if(void 0!==o.patchFlag)return r.set(e,0),0;{let n=3,i=td(e,t);if(0===i)return r.set(e,0),0;i1)for(let i=0;i{s--};for(;st===e:t=>e.test(t);return(e,n)=>{if(1===e.type){let{props:i}=e;if(3===e.tagType&&i.some(eN))return;let o=[];for(let s=0;s`${q[e]}: _${q[e]}`;function ty(e,t,{helper:n,push:r,newline:i,isTS:o}){let s=n("filter"===t?S:"component"===t?x:k);for(let n=0;n3;t.push("["),n&&t.indent(),tx(e,t,n),n&&t.deindent(),t.push("]")}function tx(e,t,r=!1,i=!0){let{push:o,newline:s}=t;for(let l=0;le||"null")}([a,c,g,i,y]),t),o(")"),b&&o(")"),x&&(o(", "),tb(x,t),o(")"))}(e,t);break;case 14:var w=e,E=t;let{push:C,helper:A,pure:O}=E,M=(0,n.isString)(w.callee)?w.callee:A(w.callee);O&&C(tg),C(M+"(",-2,w),tx(w.arguments,E),C(")");break;case 15:!function(e,t){let{push:n,indent:r,deindent:i,newline:o}=t,{properties:s}=e;if(!s.length)return n("{}",-2,e);let l=s.length>1;n(l?"{":"{ "),l&&r();for(let e=0;e "),(j||$)&&(I("{"),L()),R?(j&&I("return "),(0,n.isArray)(R)?tv(R,N):tb(R,N)):$&&tb($,N),(j||$)&&(V(),I("}")),z&&(D.isNonScopedSlot&&I(", undefined, true"),I(")"));break;case 19:var H=e,U=t;let{test:J,consequent:Y,alternate:K,newline:G}=H,{push:W,indent:X,deindent:Z,newline:Q}=U;if(4===J.type){let e=!eb(J.content);e&&W("("),tk(J,U),e&&W(")")}else W("("),tb(J,U),W(")");G&&X(),U.indentLevel++,G||W(" "),W("? "),tb(Y,U),U.indentLevel--,G&&Q(),G||W(" "),W(": ");let ee=19===K.type;!ee&&U.indentLevel++,tb(K,U),!ee&&U.indentLevel--,G&&Z(!0);break;case 20:var et=e,en=t;let{push:er,helper:ei,indent:eo,deindent:es,newline:el}=en,{needPauseTracking:ea,needArraySpread:ec}=et;ec&&er("[...("),er(`_cache[${et.index}] || (`),ea&&(eo(),er(`${ei(P)}(-1`),et.inVOnce&&er(", true"),er("),"),el(),er("(")),er(`_cache[${et.index}] = `),tb(et.value,en),ea&&(er(`).cacheIndex = ${et.index},`),el(),er(`${ei(P)}(1),`),el(),er(`_cache[${et.index}]`),es()),er(")"),ec&&er(")]");break;case 21:tx(e.body,t,!0,!1)}}function tk(e,t){let{content:n,isStatic:r}=e;t.push(r?JSON.stringify(n):n,-3,e)}function tS(e,t){for(let r=0;r(function(e,t,n,r){if("else"!==t.name&&(!t.exp||!t.exp.content.trim())){let r=t.exp?t.exp.loc:e.loc;n.onError(em(28,t.loc)),t.exp=Z("true",!1,r)}if("if"===t.name){var i;let o=tw(e,t),s={type:9,loc:tr((i=e.loc).start.offset,i.end.offset),branches:[o]};if(n.replaceNode(s),r)return r(s,o,!0)}else{let i=n.parent.children,o=i.indexOf(e);for(;o-- >=-1;){let s=i[o];if(s&&3===s.type||s&&2===s.type&&!s.content.trim().length){n.removeNode(s);continue}if(s&&9===s.type){"else-if"===t.name&&void 0===s.branches[s.branches.length-1].condition&&n.onError(em(30,e.loc)),n.removeNode();let i=tw(e,t);s.branches.push(i);let o=r&&r(s,i,!1);th(i,n),o&&o(),n.currentNode=null}else n.onError(em(30,e.loc));break}}})(e,t,n,(e,t,r)=>{let i=n.parent.children,o=i.indexOf(e),s=0;for(;o-- >=0;){let e=i[o];e&&9===e.type&&(s+=e.branches.length)}return()=>{r?e.codegenNode=tE(t,s,n):function(e){for(;;)if(19===e.type)if(19!==e.alternate.type)return e;else e=e.alternate;else 20===e.type&&(e=e.value)}(e.codegenNode).alternate=tE(t,s+e.branches.length-1,n)}}));function tw(e,t){let n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!eT(e,"for")?e.children:[e],userKey:eA(e,"key"),isTemplateIf:n}}function tE(e,t,n){return e.condition?en(e.condition,tC(e,t,n),ee(n.helper(g),['""',"true"])):tC(e,t,n)}function tC(e,t,n){let{helper:i}=n,o=X("key",Z(`${t}`,!1,Y,2)),{children:s}=e,l=s[0];if(1!==s.length||1!==l.type)if(1!==s.length||11!==l.type)return K(n,i(r),W([o]),s,64,void 0,void 0,!0,!1,!1,e.loc);else{let e=l.codegenNode;return eB(e,o,n),e}{let e=l.codegenNode,t=14===e.type&&e.callee===H?e.arguments[1].returns:e;return 13===t.type&&er(t,n),eB(t,o,n),e}}let tT=(e,t,r)=>{let{modifiers:i,loc:o}=e,s=e.arg,{exp:l}=e;if(l&&4===l.type&&!l.content.trim()&&(l=void 0),!l){if(4!==s.type||!s.isStatic)return r.onError(em(52,s.loc)),{props:[X(s,Z("",!0,o))]};tA(e),l=e.exp}return 4!==s.type?(s.children.unshift("("),s.children.push(') || ""')):s.isStatic||(s.content=`${s.content} || ""`),i.some(e=>"camel"===e.content)&&(4===s.type?s.isStatic?s.content=(0,n.camelize)(s.content):s.content=`${r.helperString(L)}(${s.content})`:(s.children.unshift(`${r.helperString(L)}(`),s.children.push(")"))),!r.inSSR&&(i.some(e=>"prop"===e.content)&&tO(s,"."),i.some(e=>"attr"===e.content)&&tO(s,"^")),{props:[X(s,l)]}},tA=(e,t)=>{let r=e.arg;e.exp=Z((0,n.camelize)(r.content),!1,r.loc)},tO=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},tM=tf("for",(e,t,n)=>{let{helper:i,removeHelper:o}=n;return function(e,t,n,r){if(!t.exp)return void n.onError(em(31,t.loc));let i=t.forParseResult;if(!i)return void n.onError(em(32,t.loc));tD(i,n);let{addIdentifiers:o,removeIdentifiers:s,scopes:l}=n,{source:a,value:c,key:u,index:d}=i,p={type:11,loc:t.loc,source:a,valueAlias:c,keyAlias:u,objectIndexAlias:d,parseResult:i,children:eI(e)?e.children:[e]};n.replaceNode(p),l.vFor++;let h=r&&r(p);return()=>{l.vFor--,h&&h()}}(e,t,n,t=>{let s=ee(i(w),[t.source]),l=eI(e),a=eT(e,"memo"),c=eA(e,"key",!1,!0);c&&7===c.type&&!c.exp&&tA(c);let g=c&&(6===c.type?c.value?Z(c.value.content,!0):void 0:c.exp),m=c&&g?X("key",g):null,y=4===t.source.type&&t.source.constType>0,x=y?64:c?128:256;return t.codegenNode=K(n,i(r),void 0,s,x,void 0,void 0,!0,!y,!1,e.loc),()=>{let c,{children:x}=t,b=1!==x.length||1!==x[0].type,k=eL(e)?e:l&&1===e.children.length&&eL(e.children[0])?e.children[0]:null;if(k)c=k.codegenNode,l&&m&&eB(c,m,n);else if(b)c=K(n,i(r),m?W([m]):void 0,e.children,64,void 0,void 0,!0,void 0,!1);else{var S,_,w,E,C,T,A,O;c=x[0].codegenNode,l&&m&&eB(c,m,n),!y!==c.isBlock&&(c.isBlock?(o(u),o((S=n.inSSR,_=c.isComponent,S||_?d:p))):o((w=n.inSSR,E=c.isComponent,w||E?h:f))),(c.isBlock=!y,c.isBlock)?(i(u),i((C=n.inSSR,T=c.isComponent,C||T?d:p))):i((A=n.inSSR,O=c.isComponent,A||O?h:f))}if(a){let e=et(tN(t.parseResult,[Z("_cached")]));e.body={type:21,body:[Q(["const _memo = (",a.exp,")"]),Q(["if (_cached",...g?[" && _cached.key === ",g]:[],` && ${n.helperString(U)}(_cached, _memo)) return _cached`]),Q(["const _item = ",c]),Z("_item.memo = _memo"),Z("return _item")],loc:Y},s.arguments.push(e,Z("_cache"),Z(String(n.cached.length))),n.cached.push(null)}else s.arguments.push(et(tN(t.parseResult),c,!0))}})});function tD(e,t){e.finalized||(e.finalized=!0)}function tN({value:e,key:t,index:n},r=[]){var i=[e,t,n,...r];let o=i.length;for(;o--&&!i[o];);return i.slice(0,o+1).map((e,t)=>e||Z("_".repeat(t+1),!1))}let tI=Z("undefined",!1),tL=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){let n=eT(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}};function tV(e,t,n){let r=[X("name",e),X("fn",t)];return null!=n&&r.push(X("key",Z(String(n),!0))),W(r)}function tB(e){return 2!==e.type&&12!==e.type||(2===e.type?!!e.content.trim():tB(e.content))}let tP=new WeakMap,tR=(e,t)=>function(){let r,o,a,c,u;if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;let{tag:d,props:p}=e,h=1===e.tagType,f=h?function(e,t,n=!1){let{tag:r}=e,i=tj(r),o=eA(e,"is",!1,!0);if(o)if(i||ep("COMPILER_IS_ON_ELEMENT",t)){let e;if(6===o.type?e=o.value&&Z(o.value.content,!0):(e=o.exp)||(e=Z("is",!1,o.arg.loc)),e)return ee(t.helper(b),[e])}else 6===o.type&&o.value.content.startsWith("vue:")&&(r=o.value.content.slice(4));let s=ev(r)||t.isBuiltInComponent(r);return s?(n||t.helper(s),s):(t.helper(x),t.components.add(r),eR(r,"component"))}(e,t):`"${d}"`,g=(0,n.isObject)(f)&&f.callee===b,m=0,y=g||f===i||f===s||!h&&("svg"===d||"foreignObject"===d||"math"===d);if(p.length>0){let n=t$(e,t,void 0,h,g);r=n.props,m=n.patchFlag,c=n.dynamicPropNames;let i=n.directives;u=i&&i.length?G(i.map(e=>(function(e,t){let n=[],r=tP.get(e);r?n.push(t.helperString(r)):(t.helper(k),t.directives.add(e.name),n.push(eR(e.name,"directive")));let{loc:i}=e;if(e.exp&&n.push(e.exp),e.arg&&(e.exp||n.push("void 0"),n.push(e.arg)),Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));let t=Z("true",!1,i);n.push(W(e.modifiers.map(e=>X(e,t)),i))}return G(n,e.loc)})(e,t))):void 0,n.shouldUseBlock&&(y=!0)}if(e.children.length>0)if(f===l&&(y=!0,m|=1024),h&&f!==i&&f!==l){let{slots:n,hasDynamicSlots:r}=function(e,t,n=(e,t,n,r)=>et(e,n,!1,!0,n.length?n[0].loc:r)){t.helper(F);let{children:r,loc:i}=e,o=[],s=[],l=t.scopes.vSlot>0||t.scopes.vFor>0,a=eT(e,"slot",!0);if(a){let{arg:e,exp:t}=a;e&&!ey(e)&&(l=!0),o.push(X(e||Z("default",!0),n(t,void 0,r,i)))}let c=!1,u=!1,d=[],p=new Set,h=0;for(let e=0;e{let o=n(e,void 0,r,i);return t.compatConfig&&(o.isNonScopedSlot=!0),X("default",o)};c?d.length&&d.some(e=>tB(e))&&(u?t.onError(em(39,d[0].loc)):o.push(e(void 0,d))):o.push(e(void 0,r))}let f=l?2:!function e(t){for(let n=0;n0,g=!1,m=0,y=!1,x=!1,b=!1,k=!1,S=!1,_=!1,w=[],E=e=>{d.length&&(p.push(W(tF(d),c)),d=[]),e&&p.push(e)},C=()=>{t.scopes.vFor>0&&d.push(X(Z("ref_for",!0),Z("true")))},T=({key:e,value:r})=>{if(ey(e)){let s=e.content,l=(0,n.isOn)(s);l&&(!i||o)&&"onclick"!==s.toLowerCase()&&"onUpdate:modelValue"!==s&&!(0,n.isReservedProp)(s)&&(k=!0),l&&(0,n.isReservedProp)(s)&&(_=!0),l&&14===r.type&&(r=r.arguments[0]),20===r.type||(4===r.type||8===r.type)&&tc(r,t)>0||("ref"===s?y=!0:"class"===s?x=!0:"style"===s?b=!0:"key"===s||w.includes(s)||w.push(s),i&&("class"===s||"style"===s)&&!w.includes(s)&&w.push(s))}else S=!0};for(let o=0;o"prop"===e.content)&&(m|=32);let _=t.directiveTransforms[r];if(_){let{props:r,needRuntime:i}=_(l,e,t);s||r.forEach(T),k&&o&&!ey(o)?E(W(r,c)):d.push(...r),i&&(h.push(l),(0,n.isSymbol)(i)&&tP.set(l,i))}else!(0,n.isBuiltInDirective)(r)&&(h.push(l),f&&(g=!0))}}if(p.length?(E(),l=p.length>1?ee(t.helper(A),p,c):p[0]):d.length&&(l=W(tF(d),c)),S?m|=16:(x&&!i&&(m|=2),b&&!i&&(m|=4),w.length&&(m|=8),k&&(m|=32)),!g&&(0===m||32===m)&&(y||_||h.length>0)&&(m|=512),!t.inSSR&&l)switch(l.type){case 15:let L=-1,V=-1,B=!1;for(let e=0;e{if(eL(e)){let{children:r,loc:i}=e,{slotName:o,slotProps:s}=function(e,t){let r,i='"default"',o=[];for(let t=0;t0){let{props:n,directives:i}=t$(e,t,o,!1,!1);r=n,i.length&&t.onError(em(36,i[0].loc))}return{slotName:i,slotProps:r}}(e,t),l=[t.prefixIdentifiers?"_ctx.$slots":"$slots",o,"{}","undefined","true"],a=2;s&&(l[2]=s,a=3),r.length&&(l[3]=et([],r,!1,!1,i),a=4),t.scopeId&&!t.slotted&&(a=5),l.splice(a),e.codegenNode=ee(t.helper(E),l,i)}},tH=(e,t,r,i)=>{let o,{loc:s,modifiers:l,arg:a}=e;if(e.exp||l.length||r.onError(em(35,s)),4===a.type)if(a.isStatic){let e=a.content;e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`),o=Z(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?(0,n.toHandlerKey)((0,n.camelize)(e)):`on:${e}`,!0,a.loc)}else o=Q([`${r.helperString(B)}(`,a,")"]);else(o=a).children.unshift(`${r.helperString(B)}(`),o.children.push(")");let c=e.exp;c&&!c.content.trim()&&(c=void 0);let u=r.cacheHandlers&&!c&&!r.inVOnce;if(c){let e,t=eE(c),n=!(t||(e=c,eC.test(ew(e)))),r=c.content.includes(";");(n||u&&t)&&(c=Q([`${n?"$event":"(...args)"} => ${r?"{":"("}`,c,r?"}":")"]))}let d={props:[X(o,c||Z("() => {}",!1,s))]};return i&&(d=i(d)),u&&(d.props[0].value=r.cache(d.props[0].value)),d.props.forEach(e=>e.key.isHandlerKey=!0),d},tU=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{let n,r=e.children,i=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])||"template"===e.tag)))for(let e=0;e{if(1===e.type&&eT(e,"once",!0)&&!tq.has(e)&&!t.inVOnce&&!t.inSSR)return tq.add(e),t.inVOnce=!0,t.helper(P),()=>{t.inVOnce=!1;let e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0,!0))}},tY=(e,t,r)=>{let i,{exp:o,arg:s}=e;if(!o)return r.onError(em(41,e.loc)),tK();let l=o.loc.source.trim(),a=4===o.type?o.content:l,c=r.bindingMetadata[l];if("props"===c||"props-aliased"===c)return r.onError(em(44,o.loc)),tK();if(!a.trim()||!eE(o))return r.onError(em(42,o.loc)),tK();let u=s||Z("modelValue",!0),d=s?ey(s)?`onUpdate:${(0,n.camelize)(s.content)}`:Q(['"onUpdate:" + ',s]):"onUpdate:modelValue",p=r.isTS?"($event: any)":"$event";i=Q([`${p} => ((`,o,") = $event)"]);let h=[X(u,e.exp),X(d,i)];if(e.modifiers.length&&1===t.tagType){let t=e.modifiers.map(e=>e.content).map(e=>(eb(e)?e:JSON.stringify(e))+": true").join(", "),n=s?ey(s)?`${s.content}Modifiers`:Q([s,' + "Modifiers"']):"modelModifiers";h.push(X(n,Z(`{ ${t} }`,!1,e.loc,2)))}return tK(h)};function tK(e=[]){return{props:e}}let tG=/[\w).+\-_$\]]/,tW=(e,t)=>{ep("COMPILER_FILTERS",t)&&(5===e.type?tX(e.content,t):1===e.type&&e.props.forEach(e=>{7===e.type&&"for"!==e.name&&e.exp&&tX(e.exp,t)}))};function tX(e,t){if(4===e.type)tZ(e,t);else for(let n=0;n=0&&" "===(e=n.charAt(t));t--);e&&tG.test(e)||(s=!0)}}else void 0===f?(u=h+1,f=n.slice(0,h).trim()):m();function m(){g.push(n.slice(u,h).trim()),u=h+1}if(void 0===f?f=n.slice(0,h).trim():0!==u&&m(),g.length){for(h=0;h{if(1===e.type){let n=eT(e,"memo");if(!(!n||tQ.has(e)))return tQ.add(e),()=>{let r=e.codegenNode||t.currentNode.codegenNode;r&&13===r.type&&(1!==e.tagType&&er(r,t),e.codegenNode=ee(t.helper(H),[n.exp,et(void 0,r),"_cache",String(t.cached.length)]),t.cached.push(null))}}};function t1(e,t={}){let i=t.onError||ef,o="module"===t.mode;!0===t.prefixIdentifiers?i(em(47)):o&&i(em(48)),t.cacheHandlers&&i(em(49)),t.scopeId&&!o&&i(em(50));let s=(0,n.extend)({},t,{prefixIdentifiers:!1}),l=(0,n.isString)(e)?tl(e,s):e,[a,c]=[[tJ,t_,t0,tM,tW,tz,tR,tL,tU],{on:tH,bind:tT,model:tY}];var u=(0,n.extend)({},s,{nodeTransforms:[...a,...t.nodeTransforms||[]],directiveTransforms:(0,n.extend)({},c,t.directiveTransforms||{})});let d=function(e,{filename:t="",prefixIdentifiers:r=!1,hoistStatic:i=!1,hmr:o=!1,cacheHandlers:s=!1,nodeTransforms:l=[],directiveTransforms:a={},transformHoist:c=null,isBuiltInComponent:u=n.NOOP,isCustomElement:d=n.NOOP,expressionPlugins:p=[],scopeId:h=null,slotted:f=!0,ssr:g=!1,inSSR:m=!1,ssrCssVars:y="",bindingMetadata:x=n.EMPTY_OBJ,inline:b=!1,isTS:k=!1,onError:S=ef,onWarn:_=eg,compatConfig:w}){let E=t.replace(/\?.*$/,"").match(/([^/\\]+)\.\w+$/),C={filename:t,selfName:E&&(0,n.capitalize)((0,n.camelize)(E[1])),prefixIdentifiers:r,hoistStatic:i,hmr:o,cacheHandlers:s,nodeTransforms:l,directiveTransforms:a,transformHoist:c,isBuiltInComponent:u,isCustomElement:d,expressionPlugins:p,scopeId:h,slotted:f,ssr:g,inSSR:m,ssrCssVars:y,bindingMetadata:x,inline:b,isTS:k,onError:S,onWarn:_,compatConfig:w,root:e,helpers:new Map,components:new Set,directives:new Set,hoists:[],imports:[],cached:[],constantCache:new WeakMap,temps:0,identifiers:Object.create(null),scopes:{vFor:0,vSlot:0,vPre:0,vOnce:0},parent:null,grandParent:null,currentNode:e,childIndex:0,inVOnce:!1,helper(e){let t=C.helpers.get(e)||0;return C.helpers.set(e,t+1),e},removeHelper(e){let t=C.helpers.get(e);if(t){let n=t-1;n?C.helpers.set(e,n):C.helpers.delete(e)}},helperString:e=>`_${q[C.helper(e)]}`,replaceNode(e){C.parent.children[C.childIndex]=C.currentNode=e},removeNode(e){let t=C.parent.children,n=e?t.indexOf(e):C.currentNode?C.childIndex:-1;e&&e!==C.currentNode?C.childIndex>n&&(C.childIndex--,C.onNodeRemoved()):(C.currentNode=null,C.onNodeRemoved()),C.parent.children.splice(n,1)},onNodeRemoved:n.NOOP,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){(0,n.isString)(e)&&(e=Z(e)),C.hoists.push(e);let t=Z(`_hoisted_${C.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache(e,t=!1,n=!1){let r=function(e,t,n=!1,r=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:r,needArraySpread:!1,loc:Y}}(C.cached.length,e,t,n);return C.cached.push(r),r}};return C.filters=new Set,C}(l,u);return th(l,d),u.hoistStatic&&function e(t,r,i,o=!1,s=!1){let{children:l}=t,a=[];for(let n=0;n0){if(e>=2){r.codegenNode.patchFlag=-1,a.push(r);continue}}else{let e=r.codegenNode;if(13===e.type){let t=e.patchFlag;if((void 0===t||512===t||1===t)&&td(r,i)>=2){let t=tp(r);t&&(e.props=i.hoist(t))}e.dynamicProps&&(e.dynamicProps=i.hoist(e.dynamicProps))}}}else if(12===r.type&&(o?0:tc(r,i))>=2){a.push(r);continue}if(1===r.type){let n=1===r.tagType;n&&i.scopes.vSlot++,e(r,t,i,!1,s),n&&i.scopes.vSlot--}else if(11===r.type)e(r,t,i,1===r.children.length,!0);else if(9===r.type)for(let n=0;ne.key===t||e.key.content===t);return n&&n.value}}u.length&&1===t.type&&1===t.tagType&&t.codegenNode&&13===t.codegenNode.type&&t.codegenNode.children&&!(0,n.isArray)(t.codegenNode.children)&&15===t.codegenNode.children.type&&t.codegenNode.children.properties.push(X("__",Z(JSON.stringify(u),!1))),a.length&&i.transformHoist&&i.transformHoist(l,i,t)}(l,void 0,d,!!ta(l)),u.ssr||function(e,t){let{helper:n}=t,{children:i}=e;if(1===i.length){let n=ta(e);if(n&&n.codegenNode){let r=n.codegenNode;13===r.type&&er(r,t),e.codegenNode=r}else e.codegenNode=i[0]}else i.length>1&&(e.codegenNode=K(t,n(r),void 0,e.children,64,void 0,void 0,!0,void 0,!1))}(l,d),l.helpers=new Set([...d.helpers.keys()]),l.components=[...d.components],l.directives=[...d.directives],l.imports=d.imports,l.hoists=d.hoists,l.temps=d.temps,l.cached=d.cached,l.transformed=!0,l.filters=[...d.filters],function(e,t={}){let n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:r=!1,filename:i="template.vue.html",scopeId:o=null,optimizeImports:s=!1,runtimeGlobalName:l="Vue",runtimeModuleName:a="vue",ssrRuntimeModuleName:c="vue/server-renderer",ssr:u=!1,isTS:d=!1,inSSR:p=!1}){let h={mode:t,prefixIdentifiers:n,sourceMap:r,filename:i,scopeId:o,optimizeImports:s,runtimeGlobalName:l,runtimeModuleName:a,ssrRuntimeModuleName:c,ssr:u,isTS:d,inSSR:p,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${q[e]}`,push(e,t=-2,n){h.code+=e},indent(){f(++h.indentLevel)},deindent(e=!1){e?--h.indentLevel:f(--h.indentLevel)},newline(){f(h.indentLevel)}};function f(e){h.push("\n"+" ".repeat(e),0)}return h}(e,t);t.onContextCreated&&t.onContextCreated(n);let{mode:r,push:i,prefixIdentifiers:o,indent:s,deindent:l,newline:a,scopeId:c,ssr:u}=n,d=Array.from(e.helpers),p=d.length>0,x=!o&&"module"!==r;var b=e,k=n;let{ssr:S,prefixIdentifiers:_,push:w,newline:E,runtimeModuleName:C,runtimeGlobalName:T,ssrRuntimeModuleName:A}=k,O=Array.from(b.helpers);if(O.length>0&&(w(`const _Vue = ${T} +`,-1),b.hoists.length)){let e=[h,f,g,m,y].filter(e=>O.includes(e)).map(tm).join(", ");w(`const { ${e} } = _Vue +`,-1)}(function(e,t){if(!e.length)return;t.pure=!0;let{push:n,newline:r}=t;r();for(let i=0;i0)&&a()),e.directives.length&&(ty(e.directives,"directive",n),e.temps>0&&a()),e.filters&&e.filters.length&&(a(),ty(e.filters,"filter",n),a()),e.temps>0){i("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(i(` +`,0),a()),u||i("return "),e.codegenNode?tb(e.codegenNode,n):i("null"),x&&(l(),i("}")),l(),i("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}(l,s)}let t2=()=>({props:[]})}),u("dbYH6",function(e,t){o(e.exports,"useConstantsTranslation",function(){return l}),o(e.exports,"useTranslationClient",function(){return a}),c("iJXGE");var n=c("iADb3"),r=c("6Ys9M");function i(){let e=(0,r.ref)(!1),t=(0,r.ref)("en"),i=(0,r.ref)(!1),o=(0,r.ref)(null);(0,n.onMounted)(()=>{"undefined"!=typeof window&&"undefined"!=typeof fetch&&(e.value=!0)});let s=async(e,n,r=null,s=null,l="")=>{if(!e||!e.trim()){let e=Error("No text provided for translation");throw o.value=e,e}i.value=!0,o.value=null;try{let i=l||window.chatConfig?.apiPrefix||"",o=`${i}/api/translate`,a={text:e,target_lang:n};r&&(a.source_lang=r),s&&(a.context=s);let c=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"},credentials:"same-origin",body:JSON.stringify(a)});if(!c.ok)throw Error(`HTTP error! status: ${c.status}`);let u=await c.json();return u.success&&(t.value=n),u}catch(e){throw console.error("Translation error in composable:",e),o.value=e,e}finally{i.value=!1}},l=async(e,t,n={})=>{let{sourceLang:r=null,context:i=null,apiPrefix:o="",fallbackText:l=e}=n;try{let n=await s(e,t,r,i,o);return n.success?n.translated_text:l}catch(e){return console.warn("Safe translation failed, using fallback:",e.message),l}},a=async(e,t,n={})=>(await Promise.allSettled(e.map(e=>l(e,t,n)))).map((t,n)=>"fulfilled"===t.status?t.value:e[n]),c=()=>window.chatConfig?.language||t.value||"en";return{isTranslationReady:e,currentLanguage:(0,n.computed)(()=>c()),isTranslating:i,lastError:o,translate:s,translateSafe:l,translateBatch:a,getCurrentLanguage:c,getApiPrefix:()=>window.chatConfig?.apiPrefix||""}}let s={currentLanguage:null,translations:{}};function l(){let{translateSafe:e}=i();return{translateConstants:async(t,n,r={})=>{if(console.log("useConstantsTranslation: translateConstants called",{targetLang:n,currentCached:s.currentLanguage}),s.currentLanguage===n&&s.translations)return console.log("useConstantsTranslation: Using cached translations for",n),{...s.translations};console.log("useConstantsTranslation: Translating constants to",n);try{let i={};for(let[o,s]of Object.entries(t))i[o]=await e(s,n,{context:"constants",fallbackText:s,...r});return s.currentLanguage=n,s.translations=i,console.log("useConstantsTranslation: Successfully translated and cached constants"),console.log("useConstantsTranslation: Current language:",s.currentLanguage),console.log("useConstantsTranslation: Cached translations:",s.translations),i}catch(e){return console.error("useConstantsTranslation: Error translating constants:",e),{...t}}},getCachedTranslations:()=>s.currentLanguage?{...s.translations}:null,clearCache:()=>{s.currentLanguage=null,s.translations={},console.log("useConstantsTranslation: Cache cleared")},getCachedLanguage:()=>s.currentLanguage}}function a(){let{translate:e,translateSafe:t,isTranslationReady:n,isTranslating:r,lastError:o}=i();return{translate:e,translateSafe:t,isTranslationReady:n,isTranslating:r,lastError:o}}}),u("esoaL",function(e,t){o(e.exports,"render",function(){return u}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO"),i=c("fNp5a");let s={class:"language-selector"},l={class:"select-wrapper"},a=["value"];function u(e,t,o,c,u,d){return(0,n.openBlock)(),(0,n.createElementBlock)("div",s,[t[2]||(t[2]=(0,n.createElementVNode)("label",{for:"language-select"},"Taal / Language:",-1)),(0,n.createElementVNode)("div",l,[(0,n.withDirectives)((0,n.createElementVNode)("select",{id:"language-select","onUpdate:modelValue":t[0]||(t[0]=e=>u.selectedLanguage=e),onChange:t[1]||(t[1]=e=>d.changeLanguage(u.selectedLanguage)),class:"language-select"},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(d.getAvailableLanguages(),e=>((0,n.openBlock)(),(0,n.createElementBlock)("option",{key:e.code,value:e.code},(0,r.toDisplayString)(e.flag)+" "+(0,r.toDisplayString)(e.name),9,a))),128))],544),[[i.vModelSelect,u.selectedLanguage]])])])}}),u("6VrmS",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("13ZGu",function(e,t){i(e.exports),o(e.exports,"default",function(){return a});var n=c("9J6tU"),r=c("lVdl4"),s=c("6rDNK"),l=c("dbYH6"),a={name:"ChatInput",components:{"dynamic-form":n.default,"chat-message":r.default},setup(e){let{watchIcon:t}=(0,s.useIconManager)(),{translateSafe:n,isTranslating:r}=(0,l.useTranslationClient)();return t(()=>e.formData?.icon),{translateSafe:n,isTranslatingText:r}},props:{currentMessage:{type:String,default:""},isLoading:{type:Boolean,default:!1},placeholder:{type:String,default:"Typ je bericht hier... - Enter om te verzenden, Shift+Enter voor nieuwe regel"},maxLength:{type:Number,default:2e3},formData:{type:Object,default:null},activeAiMessage:{type:Object,default:null},apiPrefix:{type:String,default:""}},emits:["send-message","update-message","submit-form","specialist-complete","specialist-error"],data(){return{localMessage:this.currentMessage,formValues:{},translatedPlaceholder:this.placeholder,isTranslating:!1,languageChangeHandler:null}},computed:{characterCount(){return this.localMessage.length},isOverLimit(){return this.characterCount>this.maxLength},hasFormData(){return this.formData&&this.formData.fields&&(Array.isArray(this.formData.fields)&&this.formData.fields.length>0||"object"==typeof this.formData.fields&&Object.keys(this.formData.fields).length>0)},canSend(){return!this.isLoading&&(this.formData?this.validateForm():this.localMessage.trim()&&!this.isOverLimit)},hasFormDataToSend(){return this.formData&&this.validateForm()},sendButtonText(){return this.isLoading?"Verzenden...":this.formData?"Verstuur formulier":"Verstuur bericht"}},watch:{formData:{handler(e,t){if(console.log("ChatInput formData changed:",e),!e){console.log("FormData is null of undefined"),this.formValues={};return}if(!e.fields)return void console.error("FormData bevat geen velden!",e);console.log("Velden in formData:",e.fields),console.log("Aantal velden:",Array.isArray(e.fields)?e.fields.length:Object.keys(e.fields).length),this.initFormValues(),console.log("Formulierwaarden geïnitialiseerd:",this.formValues)},immediate:!0,deep:!0},currentMessage(e){this.localMessage=e},localMessage(e){this.$emit("update-message",e),this.autoResize()}},created(){this.languageChangeHandler=e=>{e.detail&&e.detail.language&&this.handleLanguageChange(e)},document.addEventListener("language-changed",this.languageChangeHandler)},mounted(){this.autoResize(),console.log("ChatInput mounted, formData:",this.formData),this.formData&&console.log("FormData bij mount:",JSON.stringify(this.formData))},beforeUnmount(){this.languageChangeHandler&&document.removeEventListener("language-changed",this.languageChangeHandler)},methods:{handleLanguageChange(e){e.detail&&e.detail.language&&this.translatePlaceholder(e.detail.language)},async translatePlaceholder(e){if(this.isTranslating)return void console.log("Placeholder vertaling al bezig, overslaan...");this.isTranslating=!0;let t=this.placeholder;try{let n=window.chatConfig?.apiPrefix||"",r=await this.translateSafe(t,e,{context:"chat_input_placeholder",apiPrefix:n,fallbackText:t});this.translatedPlaceholder=r,console.log("Placeholder succesvol vertaald naar:",e)}catch(e){console.error("Fout bij vertalen placeholder:",e),this.translatedPlaceholder=t}finally{this.isTranslating=!1}},initFormValues(){this.formData&&this.formData.fields&&(console.log("Initializing form values for fields:",this.formData.fields),this.formValues={},Array.isArray(this.formData.fields)?this.formData.fields.forEach(e=>{let t=e.id||e.name;t&&(this.formValues[t]=void 0!==e.default?e.default:"")}):"object"==typeof this.formData.fields&&Object.entries(this.formData.fields).forEach(([e,t])=>{this.formValues[e]=void 0!==t.default?t.default:""}),console.log("Initialized form values:",this.formValues))},handleKeydown(e){"Enter"!==e.key||e.shiftKey?"Escape"===e.key&&(this.localMessage=""):(e.preventDefault(),this.sendMessage())},sendMessage(){console.log("ChatInput: sendMessage called, formData:",!!this.formData),this.canSend&&(this.formData?(console.log("ChatInput: Processing form submission"),this.validateForm()&&this.$emit("submit-form",this.formValues)):this.localMessage.trim()&&(console.log("ChatInput: Processing regular message"),this.$emit("send-message")))},handleFormSendSubmit(e){console.log("ChatInput: handleFormSendSubmit called with values:",e),this.formValues=e,this.sendMessage()},getFormValuesForSending(){return this.formValues},resetForm(){this.formValues={},this.initFormValues()},cancelForm(){this.formValues={}},validateForm(){if(!this.formData||!this.formData.fields)return!1;let e=[];return Array.isArray(this.formData.fields)?e=this.formData.fields.filter(e=>{if(!e.required)return!1;let t=e.id||e.name,n=this.formValues[t];return null==n||"string"==typeof n&&!n.trim()}):Object.entries(this.formData.fields).forEach(([t,n])=>{if(n.required){let r=this.formValues[t];null!=r&&("string"!=typeof r||r.trim())||e.push(n)}}),0===e.length},autoResize(){this.$nextTick(()=>{let e=this.$refs.messageInput;e&&(e.style.height="auto",e.style.height=Math.min(e.scrollHeight,120)+"px")})},focusInput(){this.$refs.messageInput?.focus()},clearInput(){this.localMessage="",this.focusInput()},updateFormValues(e){JSON.stringify(e)!==JSON.stringify(this.formValues)&&(this.formValues=JSON.parse(JSON.stringify(e)))},handleImageLoaded(){console.log("Image loaded in active AI message")}}}}),u("9J6tU",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("lrkvW")).__esModule&&(n=n.default),n.render=c("dfeQd").render,n.__cssModules={},c("bpKaV").default(n),n.__scopeId="data-v-a5aafb",n.__file="DynamicForm.vue";var r=n}),u("lrkvW",function(e,t){i(e.exports),o(e.exports,"default",function(){return l});var n=c("70gdv"),r=c("6rDNK"),s=c("8L4n2"),l={name:"DynamicForm",components:{"form-field":n.default},setup(e){let{watchIcon:t,loadIcons:n}=(0,r.useIconManager)(),i=(0,s.injectContentModal)();return t(()=>e.formData?.icon),n(["check_circle","cancel"]),{contentModal:i}},props:{formData:{type:Object,required:!0,validator:e=>e&&"object"==typeof e?e.title||e.name?e.fields?Array.isArray(e.fields)||"object"==typeof e.fields?(console.log("FormData is geldig:",e),!0):(console.error("FormData.fields is geen array of object"),!1):(console.error("FormData heeft geen fields eigenschap"),!1):(console.error("FormData heeft geen title of name"),!1):(console.error("FormData is niet een geldig object"),!1)},formValues:{type:Object,default:()=>({})},isSubmitting:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},apiPrefix:{type:String,required:!0},showSendButton:{type:Boolean,default:!1},sendButtonText:{type:String,default:"Verstuur formulier"},isSubmittingForm:{type:Boolean,default:!1}},emits:["submit","cancel","update:formValues","form-enter-pressed","form-send-submit"],data(){return{localFormValues:{...this.formValues}}},computed:{isFormValid(){let e=[];return Array.isArray(this.formData.fields)?this.formData.fields.forEach(t=>{let n=t.id||t.name;if(t.required){let r=this.localFormValues[n];"boolean"===t.type?"boolean"!=typeof r&&e.push(t.name):(null==r||"string"==typeof r&&!r.trim()||Array.isArray(r)&&0===r.length)&&e.push(t.name)}}):Object.entries(this.formData.fields).forEach(([t,n])=>{if(n.required){let r=this.localFormValues[t];"boolean"===n.type?"boolean"!=typeof r&&e.push(n.name):(null==r||"string"==typeof r&&!r.trim()||Array.isArray(r)&&0===r.length)&&e.push(n.name)}}),0===e.length},titleDisplayMode:()=>(console.log("Title display mode:",window.chatConfig?.form_title_display||"Full Title"),window.chatConfig?.form_title_display||"Full Title"),shouldShowFormHeader(){return(this.formData.title||this.formData.name||this.formData.icon)&&"No Title"!==this.titleDisplayMode}},watch:{formValues:{handler(e){JSON.stringify(e)!==JSON.stringify(this.localFormValues)&&(this.localFormValues=JSON.parse(JSON.stringify(e)),this.$nextTick(()=>{this.initializeBooleanFields()}))},deep:!0},formData:{handler(){this.$nextTick(()=>{this.initializeBooleanFields()})},deep:!0},localFormValues:{handler(e){JSON.stringify(e)!==JSON.stringify(this.formValues)&&this.$emit("update:formValues",JSON.parse(JSON.stringify(e)))},deep:!0}},created(){},mounted(){this.initializeBooleanFields(),this.$nextTick(()=>{this.focusFirstField()})},methods:{initializeBooleanFields(){let e={...this.localFormValues},t=!1;(Array.isArray(this.formData.fields)?this.formData.fields:Object.entries(this.formData.fields).map(([e,t])=>({...t,id:e}))).forEach(n=>{let r=n.id||n.name;if("boolean"===n.type){let i=e[r];null==i||""===i?(e[r]=!0===n.default,t=!0):"boolean"!=typeof i&&(e[r]=!!i,t=!0)}}),t&&(this.localFormValues=e)},updateFieldValue(e,t){let n=null;n=Array.isArray(this.formData.fields)?this.formData.fields.find(t=>(t.id||t.name)===e):this.formData.fields[e];let r=t;n&&"boolean"===n.type&&(r=!!t),this.localFormValues={...this.localFormValues,[e]:r},this.$nextTick(()=>{this.initializeBooleanFields()})},handleSubmit(){this.initializeBooleanFields(),this.$nextTick(()=>{let e=[];if(Array.isArray(this.formData.fields)?this.formData.fields.forEach(t=>{let n=t.id||t.name;if(t.required){let r=this.localFormValues[n];"boolean"===t.type?"boolean"!=typeof r&&e.push(t.name):(null==r||"string"==typeof r&&!r.trim()||Array.isArray(r)&&0===r.length)&&e.push(t.name)}}):Object.entries(this.formData.fields).forEach(([t,n])=>{if(n.required){let r=this.localFormValues[t];"boolean"===n.type?"boolean"!=typeof r&&e.push(n.name):(null==r||"string"==typeof r&&!r.trim()||Array.isArray(r)&&0===r.length)&&e.push(n.name)}}),e.length>0)return void alert(`De volgende velden zijn verplicht: ${e.join(", ")}`);this.$emit("submit",this.localFormValues)})},handleCancel(){this.$emit("cancel")},handleSendSubmit(){this.initializeBooleanFields(),this.$nextTick(()=>{this.$emit("form-send-submit",this.localFormValues)})},getFieldsForDisplay(){if(Array.isArray(this.formData.fields)){let e={};return this.formData.fields.forEach(t=>{e[t.id||t.name]=t}),e}return this.formData.fields},formatFieldValue(e,t){let n=this.localFormValues[e];if(null==n)return"-";if("boolean"===t.type){let e=n?"check_circle":"cancel",t=n?"Ja":"Nee",r=n?"boolean-true":"boolean-false";return` + ${e} + `}return"enum"===t.type&&!n&&t.default?t.default:n.toString()},openPrivacyModal(){this.loadContent("privacy")},openTermsModal(){this.loadContent("terms")},closeModal(){this.contentModal.hideModal()},retryLoad(){let e=this.contentModal.modalState.title.toLowerCase();e.includes("privacy")?this.loadContent("privacy"):e.includes("terms")&&this.loadContent("terms")},async loadContent(e){let t=`${this.apiPrefix}/${e}`;await this.contentModal.showModal({title:"privacy"===e?"Privacy Statement":"Terms & Conditions",contentUrl:t})},handleEnterKey(e){console.log("DynamicForm: Enter event received, emitting form-enter-pressed"),e.preventDefault(),this.$emit("form-enter-pressed")},focusFirstField(){if(this.readOnly)return;let e=this.$el.querySelector('input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]), textarea, select');e&&e.focus()}}}}),u("70gdv",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("8cmof")).__esModule&&(n=n.default),n.render=c("58B43").render,n.__cssModules={},c("hvpzC").default(n),n.__scopeId="data-v-83d729",n.__file="FormField.vue";var r=n}),u("8cmof",function(e,t){i(e.exports),o(e.exports,"default",function(){return r});var n=c("lfo9i"),r={name:"FormField",props:{field:{type:Object,required:!0,validator:e=>e.name&&e.type},fieldId:{type:String,required:!0},modelValue:{default:null}},emits:["update:modelValue","open-privacy-modal","open-terms-modal","keydown-enter"],setup(){let e={consentPrefix:"I agree with the",consentMiddle:"and",consentSuffix:"of AskEveAI",privacyLink:"privacy statement",termsLink:"terms and conditions"};try{let{texts:t}=(0,n.useComponentTranslations)("FormField",e);return{translatedTexts:t,fallbackTexts:e}}catch(t){return console.error("FormField setup(): Error in useComponentTranslations:",t),{translatedTexts:null,fallbackTexts:e}}},computed:{texts(){if(this.translatedTexts&&"object"==typeof this.translatedTexts){let e=this.translatedTexts;if(e.consentPrefix&&e.consentMiddle&&e.consentSuffix&&e.privacyLink&&e.termsLink)return e}return this.fallbackTexts||{consentPrefix:"I agree with the",consentMiddle:"and",consentSuffix:"of AskEveAI",privacyLink:"privacy statement",termsLink:"terms and conditions"}},value:{get(){return void 0===this.modelValue||null===this.modelValue?"boolean"===this.field.type?!0===this.field.default:void 0!==this.field.default?this.field.default:"":this.modelValue},set(e){let t=e;"boolean"===this.field.type&&(console.log("FormField Boolean Value: ",e),console.log("FormField Boolean Processed Value: ",t=!!e)),JSON.stringify(t)!==JSON.stringify(this.modelValue)&&this.$emit("update:modelValue",t)}},fieldType(){return({str:"text",string:"text",int:"number",integer:"number",float:"number",text:"textarea",enum:"select",options:"radio",boolean:"checkbox",file:"file",date:"date",time:"time",email:"email",url:"url"})[this.field.type]||this.field.type},stepValue(){return"float"===this.field.type?"any":1},description(){return this.field.description||""},isConsentField(){return"boolean"===this.field.type&&("consent"===this.fieldId||this.fieldId.toLowerCase().includes("consent"))}},methods:{handleFileUpload(e){let t=e.target.files[0];t&&(this.value=t)},openPrivacyModal(e){e.preventDefault(),this.$emit("open-privacy-modal")},openTermsModal(e){e.preventDefault(),this.$emit("open-terms-modal")},handleEnterKey(e){console.log("FormField: Enter pressed in field:",this.fieldId),e.preventDefault(),this.$emit("keydown-enter")},handleTextareaKeydown(e){console.log("FormField: Textarea keydown in field:",this.fieldId,"Key:",e.key,"Ctrl:",e.ctrlKey,"Shift:",e.shiftKey),"Enter"!==e.key||e.shiftKey||(console.log("FormField: Textarea Enter triggered for field:",this.fieldId),e.preventDefault(),this.$emit("keydown-enter"))}}}}),u("58B43",function(e,t){o(e.exports,"render",function(){return D}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO"),i=c("fNp5a");let s=["for"],l={key:0,class:"required",style:{color:"#d93025","margin-left":"2px"}},a={key:1,class:"tooltip-content"},u={style:{width:"100%"}},d={key:0,class:"field-context"},p=["id","required","placeholder","title"],h=["id","required","step","placeholder","title"],f=["id","required","rows","placeholder","title"],g=["id","required","title"],m=["value"],y={key:5,class:"radio-group"},x=["name","value","required"],b={key:6,class:"checkbox-container",style:{display:"flex","align-items":"center"}},k={class:"checkbox-label",style:{display:"flex","align-items":"center",cursor:"pointer"}},S=["id","required"],_={key:0,class:"checkbox-text"},w={key:1,class:"checkbox-text consent-text"},E={key:2,class:"required",style:{color:"#d93025","margin-left":"2px"}},C=["id","required","accept","title"],T=["id","required","title"],A=["id","required","title"],O=["id","required","placeholder","title"],M=["id","required","placeholder","title"];function D(e,t,o,c,D,N){return(0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,r.normalizeClass)(["form-field",{"radio-field":"radio"===N.fieldType}]),style:{"margin-bottom":"15px"}},["checkbox"!==N.fieldType?((0,n.openBlock)(),(0,n.createElementBlock)("label",{key:0,for:o.fieldId,class:(0,r.normalizeClass)(["field-label",{"tooltip-label":N.description}])},[(0,n.createTextVNode)((0,r.toDisplayString)(o.field.name)+" ",1),o.field.required?((0,n.openBlock)(),(0,n.createElementBlock)("span",l,"*")):(0,n.createCommentVNode)("",!0),N.description?((0,n.openBlock)(),(0,n.createElementBlock)("span",a,(0,r.toDisplayString)(N.description),1)):(0,n.createCommentVNode)("",!0)],10,s)):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("div",u,[o.field.context?((0,n.openBlock)(),(0,n.createElementBlock)("div",d,(0,r.toDisplayString)(o.field.context),1)):(0,n.createCommentVNode)("",!0),"text"===N.fieldType?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:1,id:o.fieldId,type:"text","onUpdate:modelValue":t[0]||(t[0]=e=>N.value=e),required:o.field.required,placeholder:o.field.placeholder||"",title:N.description,onKeydown:t[1]||(t[1]=(0,i.withKeys)((...e)=>N.handleEnterKey&&N.handleEnterKey(...e),["enter"])),style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box"}},null,40,p)),[[i.vModelText,N.value]]):(0,n.createCommentVNode)("",!0),"number"===N.fieldType?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:2,id:o.fieldId,type:"number","onUpdate:modelValue":t[2]||(t[2]=e=>N.value=e),required:o.field.required,step:N.stepValue,placeholder:o.field.placeholder||"",title:N.description,onKeydown:t[3]||(t[3]=(0,i.withKeys)((...e)=>N.handleEnterKey&&N.handleEnterKey(...e),["enter"])),style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box"}},null,40,h)),[[i.vModelText,N.value,void 0,{number:!0}]]):(0,n.createCommentVNode)("",!0),"textarea"===N.fieldType?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("textarea",{key:3,id:o.fieldId,"onUpdate:modelValue":t[4]||(t[4]=e=>N.value=e),required:o.field.required,rows:o.field.rows||3,placeholder:o.field.placeholder||"",title:N.description,onKeydown:t[5]||(t[5]=(...e)=>N.handleTextareaKeydown&&N.handleTextareaKeydown(...e)),style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box",resize:"vertical"}},null,40,f)),[[i.vModelText,N.value]]):(0,n.createCommentVNode)("",!0),"select"===N.fieldType?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("select",{key:4,id:o.fieldId,"onUpdate:modelValue":t[6]||(t[6]=e=>N.value=e),required:o.field.required,title:N.description,style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box"}},[t[16]||(t[16]=(0,n.createElementVNode)("option",{value:""},"Selecteer een optie",-1)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o.field.allowedValues||o.field.allowed_values||[],e=>((0,n.openBlock)(),(0,n.createElementBlock)("option",{key:e,value:e},(0,r.toDisplayString)(e),9,m))),128))],8,g)),[[i.vModelSelect,N.value]]):(0,n.createCommentVNode)("",!0),"radio"===N.fieldType?((0,n.openBlock)(),(0,n.createElementBlock)("div",y,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o.field.allowedValues||o.field.allowed_values||[],e=>((0,n.openBlock)(),(0,n.createElementBlock)("label",{key:e,class:"radio-label"},[(0,n.withDirectives)((0,n.createElementVNode)("input",{type:"radio",name:o.fieldId,value:e,"onUpdate:modelValue":t[7]||(t[7]=e=>N.value=e),required:o.field.required},null,8,x),[[i.vModelRadio,N.value]]),(0,n.createElementVNode)("span",null,(0,r.toDisplayString)(e),1)]))),128))])):(0,n.createCommentVNode)("",!0),"checkbox"===N.fieldType?((0,n.openBlock)(),(0,n.createElementBlock)("div",b,[(0,n.createElementVNode)("label",k,[(0,n.withDirectives)((0,n.createElementVNode)("input",{type:"checkbox",id:o.fieldId,"onUpdate:modelValue":t[8]||(t[8]=e=>N.value=e),required:o.field.required,style:{"margin-right":"8px"}},null,8,S),[[i.vModelCheckbox,N.value]]),N.isConsentField?((0,n.openBlock)(),(0,n.createElementBlock)("span",w,[(0,n.createTextVNode)((0,r.toDisplayString)(N.texts.consentPrefix)+" ",1),(0,n.createElementVNode)("a",{href:"#",onClick:t[9]||(t[9]=(...e)=>N.openPrivacyModal&&N.openPrivacyModal(...e)),class:"consent-link"},(0,r.toDisplayString)(N.texts.privacyLink),1),(0,n.createTextVNode)(" "+(0,r.toDisplayString)(N.texts.consentMiddle)+" ",1),(0,n.createElementVNode)("a",{href:"#",onClick:t[10]||(t[10]=(...e)=>N.openTermsModal&&N.openTermsModal(...e)),class:"consent-link"},(0,r.toDisplayString)(N.texts.termsLink),1),(0,n.createTextVNode)(" "+(0,r.toDisplayString)(N.texts.consentSuffix),1)])):((0,n.openBlock)(),(0,n.createElementBlock)("span",_,(0,r.toDisplayString)(o.field.name),1)),o.field.required?((0,n.openBlock)(),(0,n.createElementBlock)("span",E,"*")):(0,n.createCommentVNode)("",!0)])])):(0,n.createCommentVNode)("",!0),"file"===N.fieldType?((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:7,id:o.fieldId,type:"file",onChange:t[11]||(t[11]=(...e)=>N.handleFileUpload&&N.handleFileUpload(...e)),required:o.field.required,accept:o.field.accept||"*",title:N.description,style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box"}},null,40,C)):(0,n.createCommentVNode)("",!0),"date"===N.fieldType?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:8,id:o.fieldId,type:"date","onUpdate:modelValue":t[12]||(t[12]=e=>N.value=e),required:o.field.required,title:N.description,style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box"}},null,8,T)),[[i.vModelText,N.value]]):(0,n.createCommentVNode)("",!0),"time"===N.fieldType?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:9,id:o.fieldId,type:"time","onUpdate:modelValue":t[13]||(t[13]=e=>N.value=e),required:o.field.required,title:N.description,style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box"}},null,8,A)),[[i.vModelText,N.value]]):(0,n.createCommentVNode)("",!0),"email"===N.fieldType?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:10,id:o.fieldId,type:"email","onUpdate:modelValue":t[14]||(t[14]=e=>N.value=e),required:o.field.required,placeholder:o.field.placeholder||"",title:N.description,style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box"}},null,8,O)),[[i.vModelText,N.value]]):(0,n.createCommentVNode)("",!0),"url"===N.fieldType?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:11,id:o.fieldId,type:"url","onUpdate:modelValue":t[15]||(t[15]=e=>N.value=e),required:o.field.required,placeholder:o.field.placeholder||"",title:N.description,style:{width:"100%",padding:"8px","border-radius":"4px",border:"1px solid #ddd","box-sizing":"border-box"}},null,8,M)),[[i.vModelText,N.value]]):(0,n.createCommentVNode)("",!0)])],2)}}),u("hvpzC",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("6rDNK",function(e,t){o(e.exports,"useIconManager",function(){return i}),c("iJXGE");var n=c("iADb3"),r=c("6Ys9M");function i(){let e=(0,r.ref)(!0),t=(0,r.ref)([]),i=(e,n={})=>{if(!e)return void console.warn("No icon name provided");if(t.value.includes(e))return;let r={opsz:24,wght:400,FILL:0,GRAD:0,...n},i=` + .material-symbols-outlined.icon-${e} { + font-variation-settings: + 'FILL' ${r.FILL}, + 'wght' ${r.wght}, + 'GRAD' ${r.GRAD}, + 'opsz' ${r.opsz}; + } + `,o=document.createElement("style");o.textContent=i,document.head.appendChild(o),t.value.push(e),console.log(`Icon loaded: ${e}`)},o=(e,t={})=>{if(!Array.isArray(e))return void console.warn("iconNames must be an array");e.forEach(e=>{i(e,t)})};return{isIconManagerReady:e,loadIcon:i,loadIcons:o,ensureIconsLoaded:(e={},t=[])=>{t&&t.length>0&&o(t,e)},watchIcon:(e,t={})=>{(0,n.watch)(e,e=>{e&&(Array.isArray(e)?o(e,t):i(e,t))},{immediate:!0})},watchFormDataIcon:(e,t={})=>{(0,n.watch)(()=>e.value?.icon,e=>{e&&i(e,t)},{immediate:!0})},preloadCommonIcons:(e=[],t={})=>{o(e.length>0?e:["send","attach_file","mic","more_vert","close","check","error","warning","info","expand_more","expand_less"],t)}}}}),u("8L4n2",function(e,t){o(e.exports,"provideContentModal",function(){return s}),o(e.exports,"injectContentModal",function(){return l}),c("iJXGE");var n=c("iADb3"),r=c("6Ys9M");let i=Symbol("contentModal");function s(){let e=function(){let e=(0,r.reactive)({show:!1,title:"",content:"",version:"",loading:!1,error:!1,errorMessage:"",lastContentUrl:""}),t=(0,r.ref)({}),n=async(t={})=>{let{title:n="Content",contentUrl:r=null,content:o=null,version:s=""}=t;if(e.show=!0,e.title=n,e.content=o||"",e.version=s,e.loading=!!r,e.error=!1,e.errorMessage="",e.lastContentUrl=r||"",o){e.loading=!1;return}r&&await i(r)},i=async n=>{try{if(console.log("Loading content from:",n),e.loading=!0,e.error=!1,e.errorMessage="",t.value[n]){console.log("Content found in cache for:",n);let r=t.value[n];e.content=r.content,e.version=r.version,e.loading=!1;return}console.log("Fetching content from API:",n);let r=await fetch(n);if(!r.ok)throw Error(`HTTP ${r.status}: ${r.statusText}`);let i=await r.json();if(console.log("API response received:",{hasSuccess:void 0!==i.success,hasContent:void 0!==i.content,hasError:void 0!==i.error,contentLength:i.content?i.content.length:0}),void 0!==i.success)if(i.success)e.content=i.content||"",e.version=i.version||"";else throw Error(i.error||"Onbekende fout bij het laden van content");else if(void 0!==i.content)e.content=i.content||"",e.version=i.version||"";else if(i.error)throw Error(i.message||i.error||"Er is een fout opgetreden");else throw Error("Invalid response format: no content or success property found");t.value[n]={content:e.content,version:e.version,timestamp:Date.now()}}catch(t){console.error("Error loading content:",t),e.error=!0,e.errorMessage=t.message||"Er is een fout opgetreden bij het laden van de content."}finally{e.loading=!1}},o=async()=>{e.lastContentUrl?(console.log("Retrying content load for:",e.lastContentUrl),await i(e.lastContentUrl)):(console.warn("No content URL available for retry"),e.error=!0,e.errorMessage="Geen content URL beschikbaar voor opnieuw proberen.")};return{modalState:e,showModal:n,hideModal:()=>{console.log("Hiding content modal"),e.show=!1,e.title="",e.content="",e.version="",e.loading=!1,e.error=!1,e.errorMessage="",e.lastContentUrl=""},loadContent:i,retryLoad:o,clearCache:()=>{t.value={}},getCacheInfo:()=>({size:Object.keys(t.value).length,entries:Object.keys(t.value)})}}();return(0,n.provide)(i,e),e}function l(){let e=(0,n.inject)(i);if(!e)throw Error("useContentModal must be provided before it can be injected");return e}}),u("dfeQd",function(e,t){o(e.exports,"render",function(){return w}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO");let i={class:"dynamic-form-container"},s={key:0,class:"form-header"},l={key:0,class:"form-icon"},a={class:"material-symbols-outlined"},u={class:"form-title"},d={key:1,class:"form-fields"},p=["disabled","title"],h={key:0,class:"loading-spinner"},f={key:1,width:"20",height:"20",viewBox:"0 0 24 24",fill:"currentColor"},g=["disabled"],m=["disabled"],y={key:0},x={key:1},b={key:3,class:"form-readonly"},k={class:"field-label"},S=["innerHTML"],_={key:1};function w(e,t,o,c,w,E){let C=(0,n.resolveComponent)("form-field");return(0,n.openBlock)(),(0,n.createElementBlock)("div",i,[(0,n.createElementVNode)("div",{class:(0,r.normalizeClass)(["dynamic-form",{readonly:o.readOnly,edit:!o.readOnly}])},[E.shouldShowFormHeader?((0,n.openBlock)(),(0,n.createElementBlock)("div",s,[o.formData.icon?((0,n.openBlock)(),(0,n.createElementBlock)("div",l,[(0,n.createElementVNode)("span",a,(0,r.toDisplayString)(o.formData.icon),1)])):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("div",u,(0,r.toDisplayString)(o.formData.title||o.formData.name),1)])):(0,n.createCommentVNode)("",!0),o.readOnly?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createElementBlock)("div",d,[Array.isArray(o.formData.fields)?((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(o.formData.fields,e=>((0,n.openBlock)(),(0,n.createBlock)(C,{key:e.id||e.name,field:e,"field-id":e.id||e.name,"model-value":w.localFormValues[e.id||e.name],"onUpdate:modelValue":t=>E.updateFieldValue(e.id||e.name,t),onOpenPrivacyModal:E.openPrivacyModal,onOpenTermsModal:E.openTermsModal,onKeydownEnter:E.handleEnterKey},null,8,["field","field-id","model-value","onUpdate:modelValue","onOpenPrivacyModal","onOpenTermsModal","onKeydownEnter"]))),128)):"object"==typeof o.formData.fields?((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:1},(0,n.renderList)(o.formData.fields,(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(C,{key:t,field:e,"field-id":t,"model-value":w.localFormValues[t],"onUpdate:modelValue":e=>E.updateFieldValue(t,e),onOpenPrivacyModal:E.openPrivacyModal,onOpenTermsModal:E.openTermsModal,onKeydownEnter:E.handleEnterKey},null,8,["field","field-id","model-value","onUpdate:modelValue","onOpenPrivacyModal","onOpenTermsModal","onKeydownEnter"]))),128)):(0,n.createCommentVNode)("",!0)])),o.hideActions||o.readOnly?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:2,class:(0,r.normalizeClass)(["form-actions",{"with-send-button":o.showSendButton}])},[o.showSendButton?((0,n.openBlock)(),(0,n.createElementBlock)("button",{key:0,type:"button",onClick:t[0]||(t[0]=(...e)=>E.handleSendSubmit&&E.handleSendSubmit(...e)),class:"send-btn",disabled:o.isSubmittingForm||!E.isFormValid,title:o.sendButtonText},[o.isSubmittingForm?((0,n.openBlock)(),(0,n.createElementBlock)("span",h,"⏳")):((0,n.openBlock)(),(0,n.createElementBlock)("svg",f,t[3]||(t[3]=[(0,n.createElementVNode)("path",{d:"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"},null,-1)])))],8,p)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)("button",{type:"button",onClick:t[1]||(t[1]=(...e)=>E.handleCancel&&E.handleCancel(...e)),class:"btn btn-secondary",disabled:o.isSubmitting}," Annuleren ",8,g),(0,n.createElementVNode)("button",{type:"button",onClick:t[2]||(t[2]=(...e)=>E.handleSubmit&&E.handleSubmit(...e)),class:"btn btn-primary",disabled:o.isSubmitting||!E.isFormValid},[o.isSubmitting?((0,n.openBlock)(),(0,n.createElementBlock)("span",y,"Verzenden...")):((0,n.openBlock)(),(0,n.createElementBlock)("span",x,"Versturen"))],8,m)],64))],2)),o.readOnly?((0,n.openBlock)(),(0,n.createElementBlock)("div",b,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(E.getFieldsForDisplay(),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:t,class:"form-field-readonly"},[(0,n.createElementVNode)("div",k,(0,r.toDisplayString)(e.name)+":",1),(0,n.createElementVNode)("div",{class:(0,r.normalizeClass)(["field-value",{"text-value":"text"===e.type,"boolean-value":"boolean"===e.type}])},["boolean"===e.type?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:0,innerHTML:E.formatFieldValue(t,e)},null,8,S)):((0,n.openBlock)(),(0,n.createElementBlock)("span",_,(0,r.toDisplayString)(E.formatFieldValue(t,e)),1))],2)]))),128))])):(0,n.createCommentVNode)("",!0)],2)])}}),u("bpKaV",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("lVdl4",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("cVxOO")).__esModule&&(n=n.default),n.render=c("9jZm8").render,n.__cssModules={},c("JObLi").default(n),n.__scopeId="data-v-e65c19",n.__file="ChatMessage.vue";var r=n}),u("cVxOO",function(e,t){i(e.exports),o(e.exports,"default",function(){return a});var n=c("9J6tU"),r=c("3b050"),s=c("6rDNK"),l=c("lfo9i"),a={name:"ChatMessage",components:{"dynamic-form":n.default,"progress-tracker":r.default},setup(e){let{watchIcon:t}=(0,s.useIconManager)();t(()=>e.message.formData?.icon);let{translations:n,isLoading:r,error:i,currentLanguage:o}=(0,l.useComponentTranslations)("chat_message",{retry:"Try again",copy:"Copy",timestamp:"Timestamp",errorMessage:"An error occurred while processing your request."});return{messageTexts:n,translationLoading:r,translationError:i,currentLanguage:o}},props:{message:{type:Object,required:!0,validator:e=>e.id&&void 0!==e.content&&e.sender&&e.type},isSubmittingForm:{type:Boolean,default:!1},apiPrefix:{type:String,default:""},isLatestAiMessage:{type:Boolean,default:!1},isInInputArea:{type:Boolean,default:!1}},emits:["image-loaded","retry-message","specialist-complete","specialist-error"],data:()=>({formVisible:!0}),created(){"ai"!==this.message.sender||this.message.originalContent||(this.message.originalContent=this.message.content)},mounted(){},beforeUnmount(){},computed:{hasFormData(){return this.message.formData&&(Array.isArray(this.message.formData.fields)&&this.message.formData.fields.length>0||"object"==typeof this.message.formData.fields&&Object.keys(this.message.formData.fields).length>0)},hasFormValues(){return this.message.formValues&&Object.keys(this.message.formValues).length>0}},methods:{hasMeaningfulFormValues:e=>!!e&&"user"===e.sender&&!!e.formValues&&!!e.formData&&!!e.formData.fields&&0!==Object.keys(e.formData.fields).length&&!!e.formValues&&0!==Object.keys(e.formValues).length&&Object.entries(e.formValues).some(([t,n])=>!!e.formData.fields[t]&&null!=n&&("string"!=typeof n||""!==n.trim())&&("boolean"==typeof n||!Array.isArray(n)||0!==n.length)),handleSpecialistError(e){console.log("ChatMessage received specialist-error event:",e),this.message.type="error",this.message.content=e.message||this.messageTexts.errorMessage,this.message.retryable=!0,this.message.error=!0,this.$emit("specialist-error",{messageId:this.message.id,...e})},handleSpecialistComplete(e){console.log("ChatMessage received specialist-complete event:",e),e.answer?(console.log("Updating message content with answer:",e.answer),this.message.content=e.answer,this.message.originalContent=e.answer):console.error("No answer in specialist-complete event data"),this.$emit("specialist-complete",{messageId:this.message.id,answer:e.answer,form_request:e.form_request,result:e.result,interactionId:e.interactionId,taskId:e.taskId})},formatMessage:e=>e?e.replace(/\*\*(.*?)\*\*/g,"$1").replace(/\*(.*?)\*/g,"$1").replace(/`(.*?)`/g,"$1").replace(/\[([^\]]+)\]\(([^)]+)\)/g,'$1').replace(/\n/g,"
"):"",removeMessage(){},reactToMessage(e){},getMessageClass(){let e=`message ${this.message.sender}`;return"user"===this.message.sender&&this.hasMeaningfulFormValues(this.message)&&(e+=" has-form"),this.message.isTemporarilyAtBottom&&(e+=" temporarily-at-bottom"),this.isInStickyArea&&(e+=" sticky-area"),this.isInInputArea&&(e+=" input-area"),e}}}}),u("3b050",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("kkMhm")).__esModule&&(n=n.default),n.render=c("iqgMR").render,n.__cssModules={},c("kgXYb").default(n),n.__scopeId="data-v-5f4bda",n.__file="ProgressTracker.vue";var r=n}),u("kkMhm",function(e,t){i(e.exports),o(e.exports,"default",function(){return r});var n=c("lfo9i"),r={name:"ProgressTracker",setup(){let{translations:e,isLoading:t,error:r,currentLanguage:i}=(0,n.useComponentTranslations)("progress_tracker",{error:"Error while processing",completed:"Processing completed",processing:"Processing..."});return console.log("Translations:",e),console.log("Current language:",i),{statusTexts:e,translationLoading:t,translationError:r,currentLanguage:i}},props:{taskId:{type:String,required:!0},apiPrefix:{type:String,default:""},isLatestAiMessage:{type:Boolean,default:!1},isInInputArea:{type:Boolean,default:!1}},emits:["specialist-complete","specialist-error"],data:()=>({isExpanded:!1,isCompleted:!1,hasError:!1,connecting:!0,error:null,progressLines:[],eventSource:null}),computed:{isProcessing(){return!this.isCompleted&&!this.hasError&&!this.connecting},errorText(){return this.statusTexts.error},completedText(){return this.statusTexts.completed},processingText(){return this.statusTexts.processing},visibilityMode:()=>(console.log("Visibility mode:",window.chatConfig?.progress_tracker_insights||"No Information"),window.chatConfig?.progress_tracker_insights||"No Information"),shouldShowFullTracker(){switch(this.visibilityMode){case"All Interactions":return!0;case"Active Interaction Only":return this.isLatestAiMessage;default:return!1}},shouldShowProgressIconOnly(){return"No Information"===this.visibilityMode&&this.isProcessing},shouldShowError(){return this.error||this.hasError}},created(){console.log("ProgressTracker: Using LanguageProvider system for translations")},mounted(){this.connectToProgressStream()},beforeUnmount(){this.disconnectEventSource()},methods:{connectToProgressStream(){if(!this.taskId)return void console.error("Geen task ID beschikbaar voor progress tracking");console.log("Connecting to progress stream for task:",this.taskId);let e=window.location.origin,t=`${e}${this.apiPrefix}/api/task_progress/${this.taskId}`;console.log("SSE URL:",t);try{this.eventSource=new EventSource(t),this.eventSource.onopen=()=>{console.log("Progress stream connected"),this.connecting=!1},this.eventSource.onmessage=e=>{this.handleProgressUpdate(e)},this.eventSource.onerror=e=>{console.error("Progress stream error:",e),this.handleError(e)}}catch(e){console.error("Failed to create EventSource:",e),this.error="Unable to connect to the server SSE stream.",this.connecting=!1}},disconnectEventSource(){this.eventSource&&(console.log("Disconnecting progress stream"),this.eventSource.close(),this.eventSource=null)},handleProgressUpdate(e){try{let t=JSON.parse(e.data);if(console.log("Progress update:",t),"EveAI Specialist Complete"===t.processing_type){console.log("Detected specialist complete via processing_type"),this.handleSpecialistComplete(e);return}if("EveAI Specialist Error"===t.processing_type){console.log("Detected specialist error via processing_type or status"),this.handleSpecialistError(e);return}t.message?this.progressLines.push(t.message):t.data&&t.data.message?this.progressLines.push(t.data.message):t.processing_type&&this.progressLines.push(`${t.processing_type}...`),this.isExpanded&&this.$nextTick(()=>{let e=this.$refs.progressContainer;e&&(e.scrollTop=e.scrollHeight)})}catch(e){console.error("Error parsing progress data:",e)}},handleSpecialistComplete(e){console.log("Specialist complete event:",e);try{let t=JSON.parse(e.data);console.log("Specialist complete data:",t),this.isCompleted=!0,this.connecting=!1,this.disconnectEventSource();let n=null,r=null,i=null,o=null;n=t.data.result,console.log("Result data:",n),n&&(r=n.answer,i=n.form_request,o=t.data.interaction_id),this.$emit("specialist-complete",{answer:r,form_request:i,result:n,interactionId:o,taskId:this.taskId})}catch(e){console.error("Error parsing specialist complete data:",e),this.handleSpecialistError({data:JSON.stringify({Error:"Failed to parse completion data",processing_type:"EveAI Specialist Error"})})}},handleSpecialistError(e){console.log("Specialist error event:",e);try{let t=JSON.parse(e.data);console.log("Specialist error data:",t),this.isCompleted=!0,this.hasError=!0,this.connecting=!1,this.disconnectEventSource();let n="We could not process your request. Please try again later.";this.error=n;let r=t.Error||t.error||t.message||t.data?.error||t.data?.Error||t.data?.message||"Unknown error";console.error("Specialist Error:",r),this.$emit("specialist-error",{message:n,originalError:r,taskId:this.taskId})}catch(e){console.error("Error parsing specialist error data:",e),this.error="An unknown error occurred while processing your request.",this.isCompleted=!0,this.hasError=!0,this.connecting=!1,this.disconnectEventSource(),this.$emit("specialist-error",{message:"An unknown error occurred while processing your request.",originalError:"Failed to parse error data",taskId:this.taskId})}},handleError(e){console.error("SSE Error event:",e),this.error="An unknown error occurred while connecting to the server. Please try again later.",this.connecting=!1;try{if(e.data){let t=JSON.parse(e.data);t&&t.message&&(this.error=t.message)}}catch(e){}this.$emit("specialist-error",{message:this.error,originalError:"SSE Connection Error",taskId:this.taskId})},toggleExpand(){this.isExpanded=!this.isExpanded,this.isExpanded&&this.$nextTick(()=>{let e=this.$refs.progressContainer;e&&(e.scrollTop=e.scrollHeight)})}}}}),u("iqgMR",function(e,t){o(e.exports,"render",function(){return k}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO");let i=["title"],s={class:"progress-title"},l={key:0,src:"/static/assets/img/evie_working.webp",alt:"Bezig met verwerken...",class:"progress-icon working-animation"},a={key:1,class:"spinner progress-icon"},u={key:2,class:"status-icon error progress-icon"},d={key:3,class:"status-icon completed progress-icon"},p={key:4},h={key:5},f={key:6},g={class:"progress-toggle"},m={key:0,class:"progress-error"},y={key:1,ref:"progressContainer",class:"progress-content"},x={key:1,class:"progress-icon-only"},b={key:2,class:"progress-error-only"};function k(e,t,o,c,k,S){return S.shouldShowFullTracker?((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:0,class:(0,r.normalizeClass)(["progress-tracker",{expanded:k.isExpanded,completed:k.isCompleted&&!k.hasError,error:k.error||k.hasError,"input-area":o.isInInputArea}])},[(0,n.createElementVNode)("div",{class:"progress-header",onClick:t[0]||(t[0]=(...e)=>S.toggleExpand&&S.toggleExpand(...e)),title:k.isExpanded?"Inklappen":"Uitklappen voor volledige voortgang"},[(0,n.createElementVNode)("div",s,[S.isProcessing?((0,n.openBlock)(),(0,n.createElementBlock)("img",l)):k.connecting?((0,n.openBlock)(),(0,n.createElementBlock)("span",a)):k.error?((0,n.openBlock)(),(0,n.createElementBlock)("span",u,"✗")):k.isCompleted?((0,n.openBlock)(),(0,n.createElementBlock)("span",d,"✓")):(0,n.createCommentVNode)("",!0),k.error?((0,n.openBlock)(),(0,n.createElementBlock)("span",p,(0,r.toDisplayString)(S.errorText),1)):k.isCompleted?((0,n.openBlock)(),(0,n.createElementBlock)("span",h,(0,r.toDisplayString)(S.completedText),1)):((0,n.openBlock)(),(0,n.createElementBlock)("span",f,(0,r.toDisplayString)(S.processingText),1))]),(0,n.createElementVNode)("div",g,(0,r.toDisplayString)(k.isExpanded?"▼":"◄"),1)],8,i),k.error?((0,n.openBlock)(),(0,n.createElementBlock)("div",m,(0,r.toDisplayString)(k.error),1)):(0,n.createCommentVNode)("",!0),k.isExpanded?((0,n.openBlock)(),(0,n.createElementBlock)("div",y,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(k.progressLines,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:t,class:"progress-line"},(0,r.toDisplayString)(e),1))),128))],512)):(0,n.createCommentVNode)("",!0)],2)):S.shouldShowProgressIconOnly?((0,n.openBlock)(),(0,n.createElementBlock)("div",x,t[1]||(t[1]=[(0,n.createElementVNode)("img",{src:"/static/assets/img/evie_working.webp",alt:"Bezig met verwerken...",class:"working-animation-only"},null,-1)]))):S.shouldShowError?((0,n.openBlock)(),(0,n.createElementBlock)("div",b,(0,r.toDisplayString)(k.error),1)):(0,n.createCommentVNode)("",!0)}}),u("kgXYb",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("9jZm8",function(e,t){o(e.exports,"render",function(){return N}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO");let i=["data-message-id"],s={key:0,class:"message-content",style:{width:"100%"}},l={key:0,src:"/static/assets/img/eveai_logo.svg",alt:"EveAI",class:"ai-message-logo"},a={key:2,class:"form-display user-form-values"},u={key:3,class:"form-display ai-form-values",style:{"margin-top":"15px"}},d={class:"form-result-table"},p={key:0},h={colspan:"2"},f={class:"form-header"},g={key:0,class:"material-symbols-outlined"},m={class:"field-label"},y={class:"field-value"},x=["type","placeholder"],b=["placeholder","rows"],k={key:2,class:"form-select"},S=["value"],_={key:3,class:"toggle-switch"},w=["placeholder"],E=["innerHTML"],C={key:1,class:"message-content error-content"},T={key:0,src:"/static/assets/img/eveai_logo.svg",alt:"EveAI",class:"ai-message-logo"},A={class:"form-error"},O={key:2,class:"message-content"},M={key:0,src:"/static/assets/img/eveai_logo.svg",alt:"EveAI",class:"ai-message-logo"},D=["innerHTML"];function N(e,t,o,c,N,I){let L=(0,n.resolveComponent)("progress-tracker"),V=(0,n.resolveComponent)("dynamic-form");return(0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,r.normalizeClass)(I.getMessageClass()),"data-message-id":o.message.id},["text"===o.message.type?((0,n.openBlock)(),(0,n.createElementBlock)("div",s,["ai"===o.message.sender?((0,n.openBlock)(),(0,n.createElementBlock)("img",l)):(0,n.createCommentVNode)("",!0),"ai"===o.message.sender&&o.message.taskId&&o.isLatestAiMessage?((0,n.openBlock)(),(0,n.createBlock)(L,{key:1,"task-id":o.message.taskId,"api-prefix":o.apiPrefix,"is-latest-ai-message":o.isLatestAiMessage,"is-in-input-area":o.isInInputArea,class:"message-progress",onSpecialistComplete:I.handleSpecialistComplete,onSpecialistError:I.handleSpecialistError},null,8,["task-id","api-prefix","is-latest-ai-message","is-in-input-area","onSpecialistComplete","onSpecialistError"])):(0,n.createCommentVNode)("",!0),I.hasMeaningfulFormValues(o.message)?((0,n.openBlock)(),(0,n.createElementBlock)("div",a,[(0,n.createVNode)(V,{"form-data":o.message.formData,"form-values":o.message.formValues,"api-prefix":o.apiPrefix,"read-only":!0,"hide-actions":"",class:"message-form user-form"},null,8,["form-data","form-values","api-prefix"])])):(0,n.createCommentVNode)("",!0),o.message.formData&&"ai"===o.message.sender?((0,n.openBlock)(),(0,n.createElementBlock)("div",u,[(0,n.createElementVNode)("table",d,[o.message.formData.title||o.message.formData.name||o.message.formData.icon?((0,n.openBlock)(),(0,n.createElementBlock)("thead",p,[(0,n.createElementVNode)("tr",null,[(0,n.createElementVNode)("th",h,[(0,n.createElementVNode)("div",f,[o.message.formData.icon?((0,n.openBlock)(),(0,n.createElementBlock)("span",g,(0,r.toDisplayString)(o.message.formData.icon),1)):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("span",null,(0,r.toDisplayString)(o.message.formData.title||o.message.formData.name),1)])])])])):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("tbody",null,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(o.message.formData.fields,(e,i)=>((0,n.openBlock)(),(0,n.createElementBlock)("tr",{key:i},[(0,n.createElementVNode)("td",m,(0,r.toDisplayString)(e.name)+":",1),(0,n.createElementVNode)("td",y,["str"===e.type||"string"===e.type||"int"===e.type||"integer"===e.type||"float"===e.type?((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:0,type:"int"===e.type||"integer"===e.type||"float"===e.type?"number":"text",placeholder:e.placeholder||"",class:"form-input"},null,8,x)):"text"===e.type?((0,n.openBlock)(),(0,n.createElementBlock)("textarea",{key:1,placeholder:e.placeholder||"",rows:e.rows||3,class:"form-textarea"},null,8,b)):"enum"===e.type?((0,n.openBlock)(),(0,n.createElementBlock)("select",k,[t[1]||(t[1]=(0,n.createElementVNode)("option",{value:""},"Selecteer een optie",-1)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.allowedValues||e.allowed_values||[],e=>((0,n.openBlock)(),(0,n.createElementBlock)("option",{key:e,value:e},(0,r.toDisplayString)(e),9,S))),128))])):"boolean"===e.type?((0,n.openBlock)(),(0,n.createElementBlock)("div",_,t[2]||(t[2]=[(0,n.createElementVNode)("input",{type:"checkbox",class:"toggle-input"},null,-1),(0,n.createElementVNode)("span",{class:"toggle-slider"},[(0,n.createElementVNode)("span",{class:"toggle-knob"})],-1)]))):((0,n.openBlock)(),(0,n.createElementBlock)("input",{key:4,type:"text",placeholder:e.placeholder||"",class:"form-input"},null,8,w))])]))),128))])])])):(0,n.createCommentVNode)("",!0),o.message.content?((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:4,class:"message-text",innerHTML:I.formatMessage(o.message.content)},null,8,E)):(0,n.createCommentVNode)("",!0)])):"error"===o.message.type?((0,n.openBlock)(),(0,n.createElementBlock)("div",C,["ai"===o.message.sender?((0,n.openBlock)(),(0,n.createElementBlock)("img",T)):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("div",A,(0,r.toDisplayString)(o.message.content),1),o.message.retryable?((0,n.openBlock)(),(0,n.createElementBlock)("button",{key:1,onClick:t[0]||(t[0]=t=>e.$emit("retry-message",o.message.id)),class:"retry-btn"},(0,r.toDisplayString)(c.messageTexts.retry),1)):(0,n.createCommentVNode)("",!0)])):((0,n.openBlock)(),(0,n.createElementBlock)("div",O,["ai"===o.message.sender?((0,n.openBlock)(),(0,n.createElementBlock)("img",M)):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("div",{class:"message-text",innerHTML:I.formatMessage(o.message.content)},null,8,D)]))],10,i)}}),u("JObLi",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("dv6Fl",function(e,t){o(e.exports,"render",function(){return x}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO"),i=c("fNp5a");let s={class:"chat-input-container"},l={key:0,class:"active-ai-message-area"},a={key:1,class:"dynamic-form-container"},u={key:0,style:{color:"red",padding:"10px"}},d={key:2,class:"chat-input"},p={class:"input-main"},h=["placeholder","disabled","maxlength"],f={class:"input-actions"},g=["disabled"],m={key:0,class:"loading-spinner"},y={key:1,width:"20",height:"20",viewBox:"0 0 24 24",fill:"currentColor"};function x(e,t,o,c,x,b){let k=(0,n.resolveComponent)("chat-message"),S=(0,n.resolveComponent)("dynamic-form");return(0,n.openBlock)(),(0,n.createElementBlock)("div",s,[o.activeAiMessage?((0,n.openBlock)(),(0,n.createElementBlock)("div",l,[(0,n.createVNode)(k,{message:o.activeAiMessage,"is-submitting-form":!1,"api-prefix":o.apiPrefix,"is-latest-ai-message":!0,"is-in-input-area":!0,onImageLoaded:b.handleImageLoaded,onSpecialistComplete:t[0]||(t[0]=t=>e.$emit("specialist-complete",t)),onSpecialistError:t[1]||(t[1]=t=>e.$emit("specialist-error",t))},null,8,["message","api-prefix","onImageLoaded"])])):(0,n.createCommentVNode)("",!0),o.formData?((0,n.openBlock)(),(0,n.createElementBlock)("div",a,[o.formData.fields?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createElementBlock)("div",u,"Fout: Geen velden gevonden in formulier")),o.formData&&o.formData.fields?((0,n.openBlock)(),(0,n.createBlock)(S,{key:1,"form-data":o.formData,"form-values":x.formValues,"api-prefix":o.apiPrefix,"is-submitting":o.isLoading,"show-send-button":!0,"is-submitting-form":o.isLoading,"send-button-text":"Verstuur formulier","onUpdate:formValues":b.updateFormValues,onFormEnterPressed:b.sendMessage,onFormSendSubmit:b.handleFormSendSubmit},null,8,["form-data","form-values","api-prefix","is-submitting","is-submitting-form","onUpdate:formValues","onFormEnterPressed","onFormSendSubmit"])):(0,n.createCommentVNode)("",!0)])):(0,n.createCommentVNode)("",!0),o.formData?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createElementBlock)("div",d,[(0,n.createElementVNode)("div",p,[(0,n.withDirectives)((0,n.createElementVNode)("textarea",{ref:"messageInput","onUpdate:modelValue":t[2]||(t[2]=e=>x.localMessage=e),onKeydown:t[3]||(t[3]=(...e)=>b.handleKeydown&&b.handleKeydown(...e)),placeholder:x.translatedPlaceholder,rows:"1",disabled:o.isLoading,maxlength:o.maxLength,class:(0,r.normalizeClass)(["message-input",{"over-limit":b.isOverLimit}])},null,42,h),[[i.vModelText,x.localMessage]]),o.maxLength?((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:0,class:(0,r.normalizeClass)(["character-counter",{"over-limit":b.isOverLimit}])},(0,r.toDisplayString)(b.characterCount)+"/"+(0,r.toDisplayString)(o.maxLength),3)):(0,n.createCommentVNode)("",!0)]),(0,n.createElementVNode)("div",f,[(0,n.createElementVNode)("button",{onClick:t[4]||(t[4]=(...e)=>b.sendMessage&&b.sendMessage(...e)),class:"send-btn",disabled:!b.canSend,title:"Verstuur bericht"},[o.isLoading?((0,n.openBlock)(),(0,n.createElementBlock)("span",m,"⏳")):((0,n.openBlock)(),(0,n.createElementBlock)("svg",y,t[5]||(t[5]=[(0,n.createElementVNode)("path",{d:"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"},null,-1)])))],8,g)])]))])}}),u("dOnmI",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("dwb6L",function(e,t){i(e.exports),o(e.exports,"default",function(){return l});var n=c("lVdl4"),r=c("aNcdg"),s=c("dbYH6"),l={name:"MessageHistory",components:{"chat-message":n.default,"typing-indicator":r.default},setup(){let{translateSafe:e}=(0,s.useTranslationClient)();return{translateSafe:e}},props:{messages:{type:Array,default:()=>[]},isTyping:{type:Boolean,default:!1},isSubmittingForm:{type:Boolean,default:!1},apiPrefix:{type:String,default:""},autoScroll:{type:Boolean,default:!0}},emits:["load-more","specialist-complete","specialist-error"],data:()=>({isAtBottom:!0,showScrollButton:!1,unreadCount:0,languageChangeHandler:null}),computed:{normalMessages(){return this.messages.filter(e=>!e.isTemporarilyAtBottom)}},watch:{messages:{handler(e,t){let n=e.length>(t?.length||0);this.autoScroll&&n&&this.$nextTick(()=>{this.$nextTick(()=>{this.scrollToBottom(!0)})})},deep:!0,immediate:!1},isTyping(e){e&&this.autoScroll&&this.$nextTick(()=>{this.scrollToBottom()})}},created(){this.languageChangeHandler=e=>{e.detail&&e.detail.language&&this.handleLanguageChange(e)},document.addEventListener("language-changed",this.languageChangeHandler)},mounted(){this.setupScrollListener(),this.autoScroll&&this.$nextTick(()=>{this.scrollToBottom()})},beforeUnmount(){let e=this.$refs.messagesContainer;e&&e.removeEventListener("scroll",this.handleScroll),this.languageChangeHandler&&document.removeEventListener("language-changed",this.languageChangeHandler)},methods:{async handleLanguageChange(e){if(1===this.messages.length&&"ai"===this.messages[0].sender){let t=this.messages[0];if(t.content){t.originalContent||(t.originalContent=t.content),console.log("Originele inhoud van eerste AI bericht:",t.originalContent),console.log("Content eerste AI bericht:",t.content),console.log("Vertaling van eerste AI bericht naar:",e.detail.language);try{let n=await this.translateSafe(t.originalContent,e.detail.language,{context:"chat_message",apiPrefix:this.apiPrefix,fallbackText:t.originalContent});t.content=n,console.log("Eerste bericht succesvol vertaald")}catch(e){console.error("Fout bij vertalen eerste bericht:",e),t.content=t.originalContent}}}},scrollToBottom(e=!1){let t=this.$refs.messagesContainer;t&&requestAnimationFrame(()=>{t.scrollTop=t.scrollHeight,this.isAtBottom=!0,this.showScrollButton=!1,this.unreadCount=0})},setupScrollListener(){let e=this.$refs.messagesContainer;e&&e.addEventListener("scroll",this.handleScroll)},handleScroll(){let e=this.$refs.messagesContainer;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<50;this.isAtBottom=t,0===e.scrollTop&&this.$emit("load-more")},handleImageLoaded(){this.isAtBottom&&this.$nextTick(()=>this.scrollToBottom())},searchMessages(e){if(!e.trim())return this.messages;let t=e.toLowerCase();return this.messages.filter(e=>e.content&&e.content.toLowerCase().includes(t))},isLatestAiMessage(e){if("ai"!==e.sender||!e.taskId)return!1;for(let t=this.messages.length-1;t>=0;t--){let n=this.messages[t];if("ai"===n.sender&&n.taskId)return n.id===e.id}return!1}}}}),u("aNcdg",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("4QSxf")).__esModule&&(n=n.default),n.render=c("lDgl1").render,n.__cssModules={},c("8dpGK").default(n),n.__scopeId="data-v-a78025",n.__file="TypingIndicator.vue";var r=n}),u("4QSxf",function(e,t){i(e.exports),o(e.exports,"default",function(){return n});var n={name:"TypingIndicator",props:{showText:{type:Boolean,default:!1},text:{type:String,default:"Bezig met typen..."}},methods:{}}}),u("lDgl1",function(e,t){o(e.exports,"render",function(){return l}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO");let i={class:"typing-indicator"},s={key:0,class:"typing-text"};function l(e,t,o,l,a,c){return(0,n.openBlock)(),(0,n.createElementBlock)("div",i,[t[0]||(t[0]=(0,n.createElementVNode)("div",{class:"typing-dot"},null,-1)),t[1]||(t[1]=(0,n.createElementVNode)("div",{class:"typing-dot"},null,-1)),t[2]||(t[2]=(0,n.createElementVNode)("div",{class:"typing-dot"},null,-1)),o.showText?((0,n.openBlock)(),(0,n.createElementBlock)("div",s,(0,r.toDisplayString)(o.text),1)):(0,n.createCommentVNode)("",!0)])}}),u("8dpGK",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("3LFpJ",function(e,t){o(e.exports,"render",function(){return u}),c("iJXGE");var n=c("iADb3");let r={class:"message-history-container"},i={class:"chat-messages",ref:"messagesContainer"},s={key:0,class:"load-more-indicator"},l={class:"messages-wrapper"},a={key:0,class:"empty-state"};function u(e,t,o,c,u,d){let p=(0,n.resolveComponent)("chat-message"),h=(0,n.resolveComponent)("typing-indicator");return(0,n.openBlock)(),(0,n.createElementBlock)("div",r,[(0,n.createElementVNode)("div",i,[e.$slots.loading?((0,n.openBlock)(),(0,n.createElementBlock)("div",s,[(0,n.renderSlot)(e.$slots,"loading")])):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("div",l,[0===d.normalMessages.length?((0,n.openBlock)(),(0,n.createElementBlock)("div",a,t[2]||(t[2]=[(0,n.createElementVNode)("div",{class:"empty-icon"},"\uD83D\uDCAC",-1),(0,n.createElementVNode)("div",{class:"empty-text"},"Nog geen berichten",-1),(0,n.createElementVNode)("div",{class:"empty-subtext"},"Start een gesprek door een bericht te typen!",-1)]))):(0,n.createCommentVNode)("",!0),d.normalMessages.length>0?((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:1},(0,n.renderList)(d.normalMessages,(r,i)=>((0,n.openBlock)(),(0,n.createBlock)(p,{key:r.id,message:r,"is-submitting-form":o.isSubmittingForm,"api-prefix":o.apiPrefix,"is-latest-ai-message":d.isLatestAiMessage(r),onImageLoaded:d.handleImageLoaded,onSpecialistComplete:t[0]||(t[0]=t=>e.$emit("specialist-complete",t)),onSpecialistError:t[1]||(t[1]=t=>e.$emit("specialist-error",t))},null,8,["message","is-submitting-form","api-prefix","is-latest-ai-message","onImageLoaded"]))),128)):(0,n.createCommentVNode)("",!0),o.isTyping?((0,n.openBlock)(),(0,n.createBlock)(h,{key:2})):(0,n.createCommentVNode)("",!0)])],512)])}}),u("6hDPH",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("eu21N",function(e,t){i(e.exports),o(e.exports,"default",function(){return n});var n={name:"FormMessage",props:{formData:{type:Object,required:!0},formValues:{type:Object,required:!0}},computed:{hasFormData(){return!!this.formData&&!!this.formData.fields&&0!==Object.keys(this.formData.fields).length&&!!this.formValues&&0!==Object.keys(this.formValues).length&&Object.entries(this.formValues).some(([e,t])=>!!this.formData.fields[e]&&null!=t&&("string"!=typeof t||""!==t.trim())&&("boolean"==typeof t||!Array.isArray(t)||0!==t.length))},formattedFields(){return this.hasFormData?Object.entries(this.formData.fields).map(([e,t])=>{let n=this.formValues[e]||"";return"boolean"===t.type?n=n?"Ja":"Nee":"enum"===t.type&&!n&&t.default?n=t.default:t.type,{id:e,name:t.name,value:n||"-",type:t.type}}):[]}}}}),u("8lvfw",function(e,t){o(e.exports,"render",function(){return p}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO");let i={key:0,class:"form-message"},s={key:0,class:"form-message-header"},l={key:0,class:"material-icons form-message-icon"},a={class:"form-message-title"},u={class:"form-message-fields"},d={class:"field-message-label"};function p(e,t,o,c,p,h){return h.hasFormData?((0,n.openBlock)(),(0,n.createElementBlock)("div",i,[o.formData.name?((0,n.openBlock)(),(0,n.createElementBlock)("div",s,[o.formData.icon?((0,n.openBlock)(),(0,n.createElementBlock)("i",l,(0,r.toDisplayString)(o.formData.icon),1)):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("span",a,(0,r.toDisplayString)(o.formData.name),1)])):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("div",u,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(h.formattedFields,e=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:e.id,class:"form-message-field"},[(0,n.createElementVNode)("div",d,(0,r.toDisplayString)(e.name)+":",1),(0,n.createElementVNode)("div",{class:(0,r.normalizeClass)(["field-message-value",{"text-value":"text"===e.type}])},(0,r.toDisplayString)(e.value),3)]))),128))])])):(0,n.createCommentVNode)("",!0)}}),u("4boaj",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("a5zVu",function(e,t){i(e.exports),o(e.exports,"default",function(){return u}),c("iJXGE");var n=c("6Ys9M"),r=c("8mYn2"),s=c("fE2o0"),l=c("2Fvhx"),a=c("74rhm"),u={__name:"SideBar",props:{tenantMake:{type:Object,default:()=>({name:"",logo_url:"",subtitle:""})},explanationText:{type:String,default:""},initialLanguage:{type:String,default:"en"},supportedLanguageDetails:{type:Object,default:()=>({})},allowedLanguages:{type:Array,default:()=>["nl","en","fr","de"]},apiPrefix:{type:String,default:""}},emits:["language-changed"],setup(e,{expose:t,emit:i}){t();let o=(0,n.ref)(e.initialLanguage),c={props:e,emit:i,currentLanguage:o,handleLanguageChange:e=>{o.value=e,i("language-changed",e);let t=new CustomEvent("language-changed",{detail:{language:e}});document.dispatchEvent(t),window.chatConfig&&(window.chatConfig.language=e),localStorage.setItem("preferredLanguage",e)},ref:n.ref,SideBarLogo:r.default,SideBarMakeName:s.default,LanguageSelector:l.default,SideBarExplanation:a.default};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}}),u("8mYn2",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("hXIpp")).__esModule&&(n=n.default),n.render=c("gx6nd").render,n.__cssModules={},c("5UKHP").default(n),n.__scopeId="data-v-a176c5",n.__file="SideBarLogo.vue";var r=n}),u("hXIpp",function(e,t){i(e.exports),o(e.exports,"default",function(){return r}),c("iJXGE");var n=c("iADb3"),r={__name:"SideBarLogo",props:{logoUrl:{type:String,default:""},makeName:{type:String,default:"Logo"}},setup(e,{expose:t}){t();let r=(0,n.computed)(()=>e.makeName||"Logo"),i=(0,n.computed)(()=>e.makeName.split(" ").map(e=>e.charAt(0)).join("").toUpperCase().slice(0,2)),o={props:e,altText:r,makeNameInitials:i,handleImageError:()=>{console.warn("Logo image failed to load:",e.logoUrl)},computed:n.computed};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}}),u("gx6nd",function(e,t){o(e.exports,"render",function(){return a}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO");let i={class:"sidebar-logo"},s=["src","alt"],l={key:1,class:"logo-placeholder"};function a(e,t,o,a,c,u){return(0,n.openBlock)(),(0,n.createElementBlock)("div",i,[o.logoUrl?((0,n.openBlock)(),(0,n.createElementBlock)("img",{key:0,src:o.logoUrl,alt:a.altText,onError:a.handleImageError,class:"logo-image"},null,40,s)):((0,n.openBlock)(),(0,n.createElementBlock)("div",l,(0,r.toDisplayString)(a.makeNameInitials),1))])}}),u("5UKHP",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("fE2o0",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("iUbOW")).__esModule&&(n=n.default),n.render=c("dwG21").render,n.__cssModules={},c("kv4Xd").default(n),n.__scopeId="data-v-4a3e46",n.__file="SideBarMakeName.vue";var r=n}),u("iUbOW",function(e,t){i(e.exports),o(e.exports,"default",function(){return n});var n={__name:"SideBarMakeName",props:{makeName:{type:String,default:""},subtitle:{type:String,default:""}},setup(e,{expose:t}){t();let n={props:e};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}}),u("dwG21",function(e,t){o(e.exports,"render",function(){return a}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO");let i={class:"sidebar-make-name"},s={class:"make-name-text"},l={key:0,class:"make-subtitle"};function a(e,t,o,a,c,u){return(0,n.openBlock)(),(0,n.createElementBlock)("div",i,[(0,n.createElementVNode)("h2",s,(0,r.toDisplayString)(o.makeName),1),o.subtitle?((0,n.openBlock)(),(0,n.createElementBlock)("div",l,(0,r.toDisplayString)(o.subtitle),1)):(0,n.createCommentVNode)("",!0)])}}),u("kv4Xd",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("2Fvhx",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("lfk1t")).__esModule&&(n=n.default),n.render=c("esoaL").render,n.__cssModules={},c("6VrmS").default(n),n.__scopeId="data-v-d9b7e3",n.__file="LanguageSelector.vue";var r=n}),u("74rhm",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("21iAy")).__esModule&&(n=n.default),n.render=c("8yqvh").render,n.__cssModules={},c("8Ousb").default(n),n.__scopeId="data-v-313065",n.__file="SideBarExplanation.vue";var r=n}),u("21iAy",function(e,t){i(e.exports),o(e.exports,"default",function(){return l}),c("iJXGE");var n=c("iADb3"),r=c("6Ys9M"),s=c("lfo9i"),l={__name:"SideBarExplanation",props:{originalText:{type:String,default:""},currentLanguage:{type:String,default:"en"},apiPrefix:{type:String,default:""}},setup(e,{expose:t}){t();let i={explanation:e.originalText||""},{texts:o,isLoading:l,error:a,currentLanguage:c}=(0,s.useComponentTranslations)("sidebar_explanation",i),u=(0,n.computed)(()=>o.value?.explanation||e.originalText),d=(0,n.computed)(()=>u.value?"function"==typeof window.marked?window.marked(u.value):window.marked&&"function"==typeof window.marked.parse?window.marked.parse(u.value.replace(/\[\[(.*?)\]\]/g,"$1")):u.value:"");(0,n.watch)(()=>e.originalText,e=>{console.log("SideBarExplanation: Original text changed to:",e)},{immediate:!0});let p={props:e,originalTexts:i,translations:o,isLoading:l,error:a,currentLanguage:c,translatedText:u,renderedExplanation:d,ref:r.ref,computed:n.computed,watch:n.watch,onMounted:n.onMounted,get useComponentTranslations(){return s.useComponentTranslations}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}}),u("8yqvh",function(e,t){o(e.exports,"render",function(){return l}),c("iJXGE");var n=c("iADb3");let r={class:"sidebar-explanation"},i={key:0,class:"explanation-loading"},s=["innerHTML"];function l(e,t,o,l,a,c){return(0,n.openBlock)(),(0,n.createElementBlock)("div",r,[l.isLoading?((0,n.openBlock)(),(0,n.createElementBlock)("div",i," \uD83D\uDD04 Translating... ")):((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:1,class:"explanation-content",innerHTML:l.renderedExplanation},null,8,s))])}}),u("8Ousb",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("1xcVN",function(e,t){o(e.exports,"render",function(){return i}),c("iJXGE");var n=c("iADb3");let r={class:"sidebar"};function i(e,t,i,o,s,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",r,[(0,n.createVNode)(o.SideBarLogo,{"logo-url":i.tenantMake.logo_url,"make-name":i.tenantMake.name},null,8,["logo-url","make-name"]),(0,n.createVNode)(o.SideBarMakeName,{"make-name":i.tenantMake.name,subtitle:i.tenantMake.subtitle},null,8,["make-name","subtitle"]),(0,n.createVNode)(o.LanguageSelector,{"initial-language":i.initialLanguage,"current-language":o.currentLanguage,"supported-language-details":i.supportedLanguageDetails,"allowed-languages":i.allowedLanguages,onLanguageChanged:o.handleLanguageChange},null,8,["initial-language","current-language","supported-language-details","allowed-languages"]),(0,n.createVNode)(o.SideBarExplanation,{"original-text":i.explanationText,"current-language":o.currentLanguage,"api-prefix":i.apiPrefix},null,8,["original-text","current-language","api-prefix"])])}}),u("dm1Go",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("boghT",function(e,t){i(e.exports),o(e.exports,"default",function(){return l}),c("iJXGE");var n=c("6Ys9M"),r=c("8mYn2"),s=c("2Fvhx"),l={__name:"MobileHeader",props:{tenantMake:{type:Object,default:()=>({name:"",logo_url:"",subtitle:""})},initialLanguage:{type:String,default:"en"},supportedLanguageDetails:{type:Object,default:()=>({})},allowedLanguages:{type:Array,default:()=>["nl","en","fr","de"]},apiPrefix:{type:String,default:""}},emits:["language-changed"],setup(e,{expose:t,emit:i}){t();let o=(0,n.ref)(e.initialLanguage),l={props:e,emit:i,currentLanguage:o,handleLanguageChange:e=>{o.value=e,i("language-changed",e);let t=new CustomEvent("language-changed",{detail:{language:e}});document.dispatchEvent(t),window.chatConfig&&(window.chatConfig.language=e),localStorage.setItem("preferredLanguage",e)},ref:n.ref,SideBarLogo:r.default,LanguageSelector:s.default};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}}),u("8szg8",function(e,t){o(e.exports,"render",function(){return i}),c("iJXGE");var n=c("iADb3");let r={class:"mobile-header"};function i(e,t,i,o,s,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",r,[(0,n.createVNode)(o.SideBarLogo,{"logo-url":i.tenantMake.logo_url,"make-name":i.tenantMake.name,class:"mobile-logo"},null,8,["logo-url","make-name"]),(0,n.createVNode)(o.LanguageSelector,{"initial-language":i.initialLanguage,"current-language":o.currentLanguage,"supported-language-details":i.supportedLanguageDetails,"allowed-languages":i.allowedLanguages,onLanguageChanged:o.handleLanguageChange,class:"mobile-language-selector"},null,8,["initial-language","current-language","supported-language-details","allowed-languages"])])}}),u("1nK46",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("6jOml",function(e,t){i(e.exports),o(e.exports,"default",function(){return m});var n=c("aNcdg"),r=c("70gdv"),s=c("9J6tU"),l=c("lVdl4"),a=c("1MYs0"),u=c("3b050");c("2Fvhx");var d=c("2TN9T"),p=c("8IlHR"),h=c("lfo9i"),f=c("8L4n2");c("iJXGE");var g=c("iADb3"),m={name:"ChatApp",components:{TypingIndicator:n.default,FormField:r.default,DynamicForm:s.default,ChatMessage:l.default,MessageHistory:a.default,ProgressTracker:u.default,ChatInput:d.default,ContentModal:p.default},setup(){let e=window.chatConfig?.language||"nl",t=window.chatConfig?.apiPrefix||"",n=(0,h.createLanguageProvider)(e,t),r=(0,f.provideContentModal)();return(0,g.provide)(h.LANGUAGE_PROVIDER_KEY,n),{languageProvider:n,contentModal:r}},data(){let e=window.chatConfig||{},t=e.settings||{},n=e.language||"en",r=e.explanation||"",i=e.tenantMake||{};return{tenantName:i.name||"EveAI",tenantLogoUrl:i.logo_url||"",currentLanguage:n,supportedLanguageDetails:e.supportedLanguageDetails||{},allowedLanguages:e.allowedLanguages||["nl","en","fr","de"],supportedLanguages:e.supportedLanguages||[],originalExplanation:r,explanation:e.explanation||"",currentMessage:"",allMessages:[],isTyping:!1,isLoading:!1,isSubmittingForm:!1,messageIdCounter:1,formValues:{},currentInputFormData:null,apiPrefix:e.apiPrefix||"",conversationId:e.conversationId||"default",userId:e.userId||null,userName:e.userName||"",settings:{maxMessageLength:t.maxMessageLength||2e3,allowFileUpload:!0===t.allowFileUpload,allowVoiceMessage:!0===t.allowVoiceMessage,autoScroll:!0===t.autoScroll},isMobile:window.innerWidth<=768,showSidebar:window.innerWidth>768,messageSearch:"",filteredMessages:[],isSearching:!1}},computed:{compiledExplanation(){return"function"==typeof marked?marked(this.explanation):marked&&"function"==typeof marked.parse?marked.parse(this.explanation.replace(/\[\[(.*?)\]\]/g,"$1")):(console.error("Marked library not properly loaded"),this.explanation)},displayMessages(){return this.isSearching?this.filteredMessages:this.allMessages},activeAiMessage(){return this.allMessages.find(e=>e.isTemporarilyAtBottom)},hasMessages(){return this.allMessages.length>0},displayLanguages(){return this.supportedLanguages&&this.allowedLanguages?this.supportedLanguages.filter(e=>this.allowedLanguages.includes(e.code)):[]}},mounted(){this.initializeChat(),this.setupEventListeners()},beforeUnmount(){this.cleanup()},methods:{initializeChat(){console.log("Initializing chat application..."),this.loadHistoricalMessages(),console.log("Nr of messages:",this.allMessages.length),0===this.allMessages.length&&this.addWelcomeMessage(),this.$nextTick(()=>{this.focusChatInput()})},loadHistoricalMessages(){let e=(window.chatConfig||{}).messages||[];e.length>0&&(this.allMessages=e.filter(e=>null!=e).map(e=>({id:this.messageIdCounter++,content:"string"==typeof e?e:e.content||"",sender:e.sender||"ai",type:e.type||"text",timestamp:e.timestamp||new Date().toISOString(),formData:e.formData||null,status:e.status||"delivered"})),console.log(`Loaded ${this.allMessages.length} historical messages`))},async addWelcomeMessage(){console.log("Sending initialize message to backend"),this.isTyping=!0,this.isLoading=!0,console.log("API prefix:",this.apiPrefix);try{let e=await fetch(`${this.apiPrefix}/api/send_message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:"Initialize",language:this.currentLanguage,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})});if(!e.ok)throw Error(`HTTP error! status: ${e.status}`);let t=await e.json();if(console.log("Initialize response:",t),t.task_id){let e={id:this.messageIdCounter++,content:"Bezig met laden...",sender:"ai",type:"text",timestamp:new Date().toISOString(),taskId:t.task_id,status:"processing",isTemporarilyAtBottom:!0};this.allMessages.push(e)}}catch(e){console.error("Error sending initialize message:",e),this.addMessage({content:"Er is een fout opgetreden bij het initialiseren van de chat.",sender:"ai",type:"error"})}finally{this.isTyping=!1,this.isLoading=!1}},repositionLatestAiMessage(){let e=this.allMessages.find(e=>"ai"===e.sender&&e.taskId&&e.isTemporarilyAtBottom);e&&(e.isTemporarilyAtBottom=!1,console.log("AI message returned to normal flow position"))},addMessage(e){let t={id:this.messageIdCounter++,content:e.content||"",sender:e.sender||"user",type:e.type||"text",timestamp:e.timestamp||new Date().toISOString(),formData:e.formData||null,formValues:e.formValues||null,status:e.status||"delivered"};return this.allMessages.push(t),this.$nextTick(()=>{this.scrollToBottom()}),t},async sendMessage(){if(!this.currentMessage.trim()&&!this.currentInputFormData)return;console.log("Sending message:",this.currentMessage),this.repositionLatestAiMessage(),this.addMessage({content:this.currentMessage,sender:"user",formData:this.currentInputFormData,formValues:this.formValues});let e=this.currentMessage,t={...this.formValues};this.currentMessage="",this.formValues={},this.currentInputFormData=null,this.isTyping=!0,this.isLoading=!0;try{let n=await fetch(`${this.apiPrefix}/api/send_message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e,form_values:Object.keys(t).length>0?t:void 0,language:this.currentLanguage,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})});if(!n.ok)throw Error(`HTTP error! status: ${n.status}`);let r=await n.json();if(console.log("Send message response:",r),r.task_id){let e={id:this.messageIdCounter++,sender:"ai",type:"text",timestamp:new Date().toISOString(),taskId:r.task_id,status:"processing",isTemporarilyAtBottom:!0};this.allMessages.push(e)}}catch(e){console.error("Error sending message:",e),this.addMessage({content:"Er is een fout opgetreden bij het verzenden van het bericht.",sender:"ai",type:"error"})}finally{this.isTyping=!1,this.isLoading=!1}},updateCurrentMessage(e){this.currentMessage=e},submitFormFromInput(e){console.log("Form submitted from input:",e),this.formValues=e,this.sendMessage()},handleFileUpload(e){console.log("File upload:",e)},handleVoiceRecord(e){console.log("Voice record:",e)},setupEventListeners(){document.addEventListener("language-changed",e=>{e.detail&&e.detail.language&&(this.currentLanguage=e.detail.language,console.log(`Language changed to: ${this.currentLanguage}`))}),window.addEventListener("resize",()=>{this.isMobile=window.innerWidth<=768,this.showSidebar=window.innerWidth>768})},cleanup(){document.removeEventListener("language-changed",this.handleLanguageChange),window.removeEventListener("resize",this.handleResize)},handleSpecialistComplete(e){console.log("Specialist complete event received:",e);let t=this.allMessages.findIndex(t=>t.taskId===e.taskId);-1!==t&&(this.allMessages[t].content=e.answer,this.allMessages[t].status="completed",e.form_request&&(console.log("Form request received:",e.form_request),this.currentInputFormData=e.form_request)),this.isTyping=!1,this.isLoading=!1},handleSpecialistError(e){console.log("Specialist error event received:",e);let t=this.allMessages.findIndex(t=>t.taskId===e.taskId);-1!==t&&(this.allMessages[t].content=e.message||"Er is een fout opgetreden.",this.allMessages[t].type="error",this.allMessages[t].status="error"),this.isTyping=!1,this.isLoading=!1},scrollToBottom(){this.$refs.messageHistory&&this.$refs.messageHistory.scrollToBottom()},focusChatInput(){this.$refs.chatInput&&this.$refs.chatInput.focusInput()},searchMessages(e){if(!e.trim()){this.isSearching=!1,this.filteredMessages=[];return}this.isSearching=!0;let t=e.toLowerCase();this.filteredMessages=this.allMessages.filter(e=>e.content&&e.content.toLowerCase().includes(t))},clearSearch(){this.isSearching=!1,this.filteredMessages=[],this.messageSearch=""}}}}),u("1MYs0",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("dwb6L")).__esModule&&(n=n.default),n.render=c("3LFpJ").render,n.__cssModules={},c("6hDPH").default(n),n.__scopeId="data-v-be92bb",n.__file="MessageHistory.vue";var r=n}),u("2TN9T",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("13ZGu")).__esModule&&(n=n.default),n.render=c("dv6Fl").render,n.__cssModules={},c("dOnmI").default(n),n.__scopeId="data-v-490065",n.__file="ChatInput.vue";var r=n}),u("8IlHR",function(e,t){let n;o(e.exports,"default",function(){return r}),(n=c("6MRSm")).__esModule&&(n=n.default),n.render=c("1OZMc").render,n.__cssModules={},c("8PqrR").default(n),n.__scopeId="data-v-f4e5cd",n.__file="ContentModal.vue";var r=n}),u("6MRSm",function(e,t){i(e.exports),o(e.exports,"default",function(){return n});var n={name:"ContentModal",props:{show:{type:Boolean,default:!1},title:{type:String,default:"Content"},content:{type:String,default:""},version:{type:String,default:""},loading:{type:Boolean,default:!1},error:{type:Boolean,default:!1},errorMessage:{type:String,default:"Er is een fout opgetreden bij het laden van de content."}},emits:["close","retry"],computed:{renderedContent(){return this.content?"function"==typeof window.marked?window.marked(this.content):window.marked&&"function"==typeof window.marked.parse?window.marked.parse(this.content):(console.warn("Marked library not available, falling back to basic parsing"),this.content.replace(/^### (.*$)/gim,"

$1

").replace(/^## (.*$)/gim,"

$1

").replace(/^# (.*$)/gim,"

$1

").replace(/^\* (.*$)/gim,"
  • $1
  • ").replace(/\*\*(.*)\*\*/gim,"$1").replace(/\*(.*)\*/gim,"$1").replace(/\n\n/gim,"

    ").replace(/^(?!<[h|l|p])/gim,"

    ").replace(/(?)$/gim,"

    ").replace(/

    <\/p>/gim,"").replace(/

    ()/gim,"$1").replace(/(<\/h[1-6]>)<\/p>/gim,"$1").replace(/

    (

  • )/gim,"
      $1").replace(/(<\/li>)<\/p>/gim,"$1
    ")):""}},methods:{closeModal(){this.$emit("close")},handleOverlayClick(){this.closeModal()},retryLoad(){this.$emit("retry")},handleEscapeKey(e){"Escape"===e.key&&this.show&&this.closeModal()}},mounted(){document.addEventListener("keydown",this.handleEscapeKey)},beforeUnmount(){document.removeEventListener("keydown",this.handleEscapeKey)}}}),u("1OZMc",function(e,t){o(e.exports,"render",function(){return y}),c("iJXGE");var n=c("iADb3"),r=c("fVHkO"),i=c("fNp5a");let s={class:"modal-header"},l={class:"modal-title"},a={class:"modal-body"},u={key:0,class:"loading-container"},d={key:1,class:"error-container"},p={key:2,class:"content-container"},h=["innerHTML"],f={key:0,class:"content-version"},g={key:3,class:"empty-container"},m={class:"modal-footer"};function y(e,t,o,c,y,x){return o.show?((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:0,class:"modal-overlay",onClick:t[4]||(t[4]=(...e)=>x.handleOverlayClick&&x.handleOverlayClick(...e))},[(0,n.createElementVNode)("div",{class:"modal-dialog",onClick:t[3]||(t[3]=(0,i.withModifiers)(()=>{},["stop"]))},[(0,n.createElementVNode)("div",s,[(0,n.createElementVNode)("h4",l,(0,r.toDisplayString)(o.title),1),(0,n.createElementVNode)("button",{type:"button",class:"modal-close",onClick:t[0]||(t[0]=(...e)=>x.closeModal&&x.closeModal(...e)),"aria-label":"Close"},t[5]||(t[5]=[(0,n.createElementVNode)("span",{class:"material-icons"},"close",-1)]))]),(0,n.createElementVNode)("div",a,[o.loading?((0,n.openBlock)(),(0,n.createElementBlock)("div",u,t[6]||(t[6]=[(0,n.createElementVNode)("div",{class:"loading-spinner"},null,-1),(0,n.createElementVNode)("p",null,"Content wordt geladen...",-1)]))):o.error?((0,n.openBlock)(),(0,n.createElementBlock)("div",d,[t[7]||(t[7]=(0,n.createElementVNode)("div",{class:"error-icon"},[(0,n.createElementVNode)("span",{class:"material-icons"},"error_outline")],-1)),t[8]||(t[8]=(0,n.createElementVNode)("h5",null,"Fout bij het laden van content",-1)),(0,n.createElementVNode)("p",null,(0,r.toDisplayString)(o.errorMessage),1),(0,n.createElementVNode)("button",{type:"button",class:"btn btn-primary",onClick:t[1]||(t[1]=(...e)=>x.retryLoad&&x.retryLoad(...e))}," Opnieuw proberen ")])):o.content?((0,n.openBlock)(),(0,n.createElementBlock)("div",p,[(0,n.createElementVNode)("div",{class:"content-body",innerHTML:x.renderedContent},null,8,h),o.version?((0,n.openBlock)(),(0,n.createElementBlock)("div",f," Versie: "+(0,r.toDisplayString)(o.version),1)):(0,n.createCommentVNode)("",!0)])):((0,n.openBlock)(),(0,n.createElementBlock)("div",g,t[9]||(t[9]=[(0,n.createElementVNode)("p",null,"Geen content beschikbaar.",-1)])))]),(0,n.createElementVNode)("div",m,[(0,n.createElementVNode)("button",{type:"button",class:"btn btn-secondary",onClick:t[2]||(t[2]=(...e)=>x.closeModal&&x.closeModal(...e))}," Sluiten ")])])])):(0,n.createCommentVNode)("",!0)}}),u("8PqrR",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),u("1JmDG",function(e,t){o(e.exports,"render",function(){return i}),c("iJXGE");var n=c("iADb3");let r={class:"chat-app-container"};function i(e,t,i,o,s,l){let a=(0,n.resolveComponent)("message-history"),c=(0,n.resolveComponent)("chat-input"),u=(0,n.resolveComponent)("content-modal");return(0,n.openBlock)(),(0,n.createElementBlock)("div",r,[(0,n.createVNode)(a,{messages:l.displayMessages,"is-typing":s.isTyping,"is-submitting-form":s.isSubmittingForm,"api-prefix":s.apiPrefix,"auto-scroll":!0,onSpecialistError:l.handleSpecialistError,onSpecialistComplete:l.handleSpecialistComplete,ref:"messageHistory",class:"chat-messages-area"},null,8,["messages","is-typing","is-submitting-form","api-prefix","onSpecialistError","onSpecialistComplete"]),(0,n.createVNode)(c,{"current-message":s.currentMessage,"is-loading":s.isLoading,"max-length":2e3,"allow-file-upload":!0,"allow-voice-message":!1,"form-data":s.currentInputFormData,"active-ai-message":l.activeAiMessage,"api-prefix":s.apiPrefix,onSendMessage:l.sendMessage,onUpdateMessage:l.updateCurrentMessage,onUploadFile:l.handleFileUpload,onRecordVoice:l.handleVoiceRecord,onSubmitForm:l.submitFormFromInput,onSpecialistError:l.handleSpecialistError,onSpecialistComplete:l.handleSpecialistComplete,ref:"chatInput",class:"chat-input-area"},null,8,["current-message","is-loading","form-data","active-ai-message","api-prefix","onSendMessage","onUpdateMessage","onUploadFile","onRecordVoice","onSubmitForm","onSpecialistError","onSpecialistComplete"]),(0,n.createVNode)(u,{show:o.contentModal.modalState.show,title:o.contentModal.modalState.title,content:o.contentModal.modalState.content,version:o.contentModal.modalState.version,loading:o.contentModal.modalState.loading,error:o.contentModal.modalState.error,"error-message":o.contentModal.modalState.errorMessage,onClose:o.contentModal.hideModal,onRetry:o.contentModal.retryLoad},null,8,["show","title","content","version","loading","error","error-message","onClose","onRetry"])])}}),u("cH9BU",function(e,t){o(e.exports,"default",function(){return n});var n=e=>{}}),c("iJXGE");var d=c("fNp5a"),p=c("iADb3"),h={};"u">typeof globalThis||"u">typeof self&&self,h=function(){"use strict";var e={exports:{}},t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},s={Hooks:()=>ey,Lexer:()=>eh,Marked:()=>ev,Parser:()=>em,Renderer:()=>ef,TextRenderer:()=>eg,Tokenizer:()=>ep,defaults:()=>c,getDefaults:()=>a,lexer:()=>eA,marked:()=>eb,options:()=>ek,parse:()=>eC,parseInline:()=>eE,parser:()=>eT,setOptions:()=>eS,use:()=>e_,walkTokens:()=>ew};for(var l in s)t(o,l,{get:s[l],enumerable:!0});function a(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}e.exports=((e,o,s,l)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let a of r(o))i.call(e,a)||a===s||t(e,a,{get:()=>o[a],enumerable:!(l=n(o,a))||l.enumerable});return e})(t({},"__esModule",{value:!0}),o);var c=a(),u={exec:()=>null};function d(e,t=""){let n="string"==typeof e?e:e.source,r={replace:(e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(p.caret,"$1"),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var p={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},h=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,f=/(?:[*+-]|\d{1,9}[.)])/,g=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,m=d(g).replace(/bull/g,f).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),y=d(g).replace(/bull/g,f).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),x=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,b=/(?!\s*\])(?:\\.|[^\[\]\\])+/,k=d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",b).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),S=d(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,f).getRegex(),_="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w=/|$))/,E=d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",w).replace("tag",_).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),C=d(x).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",_).getRegex(),T={blockquote:d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",C).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:k,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:h,html:E,lheading:m,list:S,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:C,table:u,text:/^[^\n]+/},A=d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",_).getRegex(),O={...T,lheading:y,table:A,paragraph:d(x).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",A).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",_).getRegex()},M={...T,html:d(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",w).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:u,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:d(x).replace("hr",h).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",m).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},D=/^( {2,}|\\)\n(?!\s*$)/,N=/[\p{P}\p{S}]/u,I=/[\s\p{P}\p{S}]/u,L=/[^\s\p{P}\p{S}]/u,V=d(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,I).getRegex(),B=/(?!~)[\p{P}\p{S}]/u,P=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,R=d(P,"u").replace(/punct/g,N).getRegex(),$=d(P,"u").replace(/punct/g,B).getRegex(),F="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",j=d(F,"gu").replace(/notPunctSpace/g,L).replace(/punctSpace/g,I).replace(/punct/g,N).getRegex(),z=d(F,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,B).getRegex(),H=d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,L).replace(/punctSpace/g,I).replace(/punct/g,N).getRegex(),U=d(/\\(punct)/,"gu").replace(/punct/g,N).getRegex(),q=d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),J=d(w).replace("(?:--\x3e|$)","--\x3e").getRegex(),Y=d("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",J).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),K=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,G=d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",K).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),W=d(/^!?\[(label)\]\[(ref)\]/).replace("label",K).replace("ref",b).getRegex(),X=d(/^!?\[(ref)\](?:\[\])?/).replace("ref",b).getRegex(),Z=d("reflink|nolink(?!\\()","g").replace("reflink",W).replace("nolink",X).getRegex(),Q={_backpedal:u,anyPunctuation:U,autolink:q,blockSkip:/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<(?! )[^<>]*?>/g,br:D,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:u,emStrongLDelim:R,emStrongRDelimAst:j,emStrongRDelimUnd:H,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:G,nolink:X,punctuation:V,reflink:W,reflinkSearch:Z,tag:Y,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},es=e=>eo[e];function el(e,t){if(t){if(p.escapeTest.test(e))return e.replace(p.escapeReplace,es)}else if(p.escapeTestNoEncode.test(e))return e.replace(p.escapeReplaceNoEncode,es);return e}function ea(e){try{e=encodeURI(e).replace(p.percentDecode,"%")}catch{return null}return e}function ec(e,t){let n=e.replace(p.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(p.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:eu(e,` +`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=function(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(null===r)return t;let i=r[1];return t.split(` +`).map(e=>{let t=e.match(n.other.beginningSpace);if(null===t)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(` +`)}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=eu(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:eu(t[0],` +`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=eu(t[0],` +`).split(` +`),n="",r="",i=[];for(;e.length>0;){let t=!1,o=[],s;for(s=0;s1,i={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let o=this.rules.other.listItemRegex(n),s=!1;for(;e;){let n=!1,r="",l="";if(!(t=o.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let a=t[2].split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,e=>" ".repeat(3*e.length)),c=e.split(` +`,1)[0],u=!a.trim(),d=0;if(this.options.pedantic?(d=2,l=a.trimStart()):u?d=t[1].length+1:(d=(d=t[2].search(this.rules.other.nonSpaceChar))>4?1:d,l=a.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(c)&&(r+=c+` +`,e=e.substring(c.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),o=this.rules.other.headingBeginRegex(d),s=this.rules.other.htmlBeginRegex(d);for(;e;){let p=e.split(` +`,1)[0],h;if(c=p,h=this.options.pedantic?c=c.replace(this.rules.other.listReplaceNesting," "):c.replace(this.rules.other.tabCharGlobal," "),i.test(c)||o.test(c)||s.test(c)||t.test(c)||n.test(c))break;if(h.search(this.rules.other.nonSpaceChar)>=d||!c.trim())l+=` +`+h.slice(d);else{if(u||a.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||i.test(a)||o.test(a)||n.test(a))break;l+=` +`+c}u||c.trim()||(u=!0),r+=p+` +`,e=e.substring(p.length+1),a=h.slice(d)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(s=!0));let p=null,h;this.options.gfm&&(p=this.rules.other.listIsTask.exec(l))&&(h="[ ] "!==p[0],l=l.replace(this.rules.other.listReplaceTask,"")),i.items.push({type:"list_item",raw:r,task:!!p,checked:h,loose:!1,text:l,tokens:[]}),i.raw+=r}let l=i.items.at(-1);if(!l)return;l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd(),i.raw=i.raw.trimEnd();for(let e=0;e"space"===e.type);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}if(i.loose)for(let e=0;e({text:e,tokens:this.lexer.inline(e),header:!1,align:o.align[t]})));return o}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===` +`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=eu(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e,t){if(-1===e.indexOf(")"))return -1;let n=0;for(let r=0;r0?-2:-1}(t[2],"()");if(-2===e)return;if(e>-1){let n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),ed(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return ed(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[2])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,o,s=n,l=0,a="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=a.exec(t));){if(!(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6]))continue;if(o=[...i].length,r[3]||r[4]){s+=o;continue}if((r[5]||r[6])&&n%3&&!((n+o)%3)){l+=o;continue}if((s-=o)>0)continue;o=Math.min(o,o+s+l);let t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+o);if(Math.min(n,o)%2){let e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}let c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return n="@"===t[2]?"mailto:"+(e=t[1]):e=t[1],{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])n="mailto:"+(e=t[0]);else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(r!==t[0])e=t[0],n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}},eh=class e{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||c,this.options.tokenizer=this.options.tokenizer||new ep,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:p,block:er.normal,inline:ei.normal};this.options.pedantic?(t.block=er.pedantic,t.inline=ei.pedantic):this.options.gfm&&(t.block=er.gfm,this.options.breaks?t.inline=ei.breaks:t.inline=ei.gfm),this.tokenizer.rules=t}static get rules(){return{block:er,inline:ei}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(p.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let e=0;e!!(r=n.call({lexer:this},e,t))&&(e=e.substring(r.raw.length),t.push(r),!0)))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let n=t.at(-1);1===r.raw.length&&void 0!==n?n.raw+=` +`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type==="paragraph"||n?.type==="text"?(n.raw+=` +`+r.raw,n.text+=` +`+r.text,this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if((r=this.tokenizer.fences(e))||(r=this.tokenizer.heading(e))||(r=this.tokenizer.hr(e))||(r=this.tokenizer.blockquote(e))||(r=this.tokenizer.list(e))||(r=this.tokenizer.html(e))){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type==="paragraph"||n?.type==="text"?(n.raw+=` +`+r.raw,n.text+=` +`+r.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});continue}if((r=this.tokenizer.table(e))||(r=this.tokenizer.lheading(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{"number"==typeof(r=e.call({lexer:this},n))&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let o=t.at(-1);n&&o?.type==="paragraph"?(o.raw+=` +`+r.raw,o.text+=` +`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type==="text"?(n.raw+=` +`+r.raw,n.text+=` +`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(n));)e.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.anyPunctuation.exec(n));)n=n.slice(0,r.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(n));)n=n.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let i=!1,o="";for(;e;){let r;if(i||(o=""),i=!1,this.options.extensions?.inline?.some(n=>!!(r=n.call({lexer:this},e,t))&&(e=e.substring(r.raw.length),t.push(r),!0)))continue;if((r=this.tokenizer.escape(e))||(r=this.tokenizer.tag(e))||(r=this.tokenizer.link(e))){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);"text"===r.type&&n?.type==="text"?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if((r=this.tokenizer.emStrong(e,n,o))||(r=this.tokenizer.codespan(e))||(r=this.tokenizer.br(e))||(r=this.tokenizer.del(e))||(r=this.tokenizer.autolink(e))||!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let s=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{"number"==typeof(r=e.call({lexer:this},n))&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(s)){e=e.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(o=r.raw.slice(-1)),i=!0;let n=t.at(-1);n?.type==="text"?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return t}},ef=class{options;parser;constructor(e){this.options=e||c}space(e){return""}code({text:e,lang:t,escaped:n}){let r=(t||"").match(p.notSpaceStart)?.[0],i=e.replace(p.endingNewline,"")+` +`;return r?'
    '+(n?i:el(i,!0))+`
    +`:"
    "+(n?i:el(i,!0))+`
    +`}blockquote({tokens:e}){return`
    +${this.parser.parse(e)}
    +`}html({text:e}){return e}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)} +`}hr(e){return`
    +`}list(e){let t=e.ordered,n=e.start,r="";for(let t=0;t +`+r+" +`}listitem(e){let t="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=n+" "+el(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`
  • ${t}
  • +`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    +`}table(e){let t="",n="";for(let t=0;t${r}`),` + +`+t+` +`+r+`
    +`}tablerow({text:e}){return` +${e} +`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` +`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${el(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=ea(e);if(null===i)return r;let o='
    "}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=ea(e);if(null===i)return el(n);e=i;let o=`${n}{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new ef(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;let r=e.renderer[n],i=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new ep(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let r=e.tokenizer[n],i=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new ey;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;let r=e.hooks[n],i=t[n];ey.passThroughHooks.has(n)?t[n]=e=>{if(this.defaults.async)return Promise.resolve(r.call(t,e)).then(e=>i.call(t,e));let n=r.call(t,e);return i.call(t,n)}:t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return eh.lex(e,t??this.defaults)}parser(e,t){return em.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},o=this.onError(!!i.silent,!!i.async);if(!0===this.defaults.async&&!1===r.async)return o(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return o(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return o(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=e);let s=i.hooks?i.hooks.provideLexer():e?eh.lex:eh.lexInline,l=i.hooks?i.hooks.provideParser():e?em.parse:em.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(t):t).then(e=>s(e,i)).then(e=>i.hooks?i.hooks.processAllTokens(e):e).then(e=>i.walkTokens?Promise.all(this.walkTokens(e,i.walkTokens)).then(()=>e):e).then(e=>l(e,i)).then(e=>i.hooks?i.hooks.postprocess(e):e).catch(o);try{i.hooks&&(t=i.hooks.preprocess(t));let e=s(t,i);i.hooks&&(e=i.hooks.processAllTokens(e)),i.walkTokens&&this.walkTokens(e,i.walkTokens);let n=l(e,i);return i.hooks&&(n=i.hooks.postprocess(n)),n}catch(e){return o(e)}}}onError(e,t){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let e="

    An error occurred:

    "+el(n.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},ex=new ev;function eb(e,t){return ex.parse(e,t)}eb.options=eb.setOptions=function(e){return ex.setOptions(e),eb.defaults=ex.defaults,c=eb.defaults,eb},eb.getDefaults=a,eb.defaults=c,eb.use=function(...e){return ex.use(...e),eb.defaults=ex.defaults,c=eb.defaults,eb},eb.walkTokens=function(e,t){return ex.walkTokens(e,t)},eb.parseInline=ex.parseInline,eb.Parser=em,eb.parser=em.parse,eb.Renderer=ef,eb.TextRenderer=eg,eb.Lexer=eh,eb.lexer=eh.lex,eb.Tokenizer=ep,eb.Hooks=ey,eb.parse=eb;var ek=eb.options,eS=eb.setOptions,e_=eb.use,ew=eb.walkTokens,eE=eb.parseInline,eC=eb,eT=em.parse,eA=eh.lex;return e.exports}();var f=c("lfo9i"),g={};o(g,"LanguageSelector",function(){return c("2Fvhx").default}),o(g,"ChatInput",function(){return c("2TN9T").default}),o(g,"MessageHistory",function(){return c("1MYs0").default}),o(g,"ChatMessage",function(){return c("lVdl4").default}),o(g,"TypingIndicator",function(){return c("aNcdg").default}),o(g,"ProgressTracker",function(){return c("3b050").default}),o(g,"DynamicForm",function(){return c("9J6tU").default}),o(g,"FormField",function(){return c("70gdv").default}),o(g,"FormMessage",function(){return m}),o(g,"SideBar",function(){return y}),o(g,"MobileHeader",function(){return x}),c("2Fvhx"),c("2TN9T"),c("1MYs0"),c("lVdl4"),c("aNcdg"),c("3b050"),c("9J6tU"),c("70gdv"),(e=c("eu21N")).__esModule&&(e=e.default),e.render=c("8lvfw").render,e.__cssModules={},c("4boaj").default(e),e.__scopeId="data-v-873b23",e.__file="FormMessage.vue";var m=e;(t=c("a5zVu")).__esModule&&(t=t.default),t.render=c("1xcVN").render,t.__cssModules={},c("dm1Go").default(t),t.__scopeId="data-v-a00f3a",t.__file="SideBar.vue";var y=t;(n=c("boghT")).__esModule&&(n=n.default),n.render=c("8szg8").render,n.__cssModules={},c("1nK46").default(n),n.__scopeId="data-v-1e6eea",n.__file="MobileHeader.vue";var x=n;console.log("Vue components loaded successfully from barrel export"),c("2Fvhx"),(r=c("6jOml")).__esModule&&(r=r.default),r.render=c("1JmDG").render,r.__cssModules={},c("cH9BU").default(r),r.__scopeId="data-v-a30c6c",r.__file="ChatApp.vue";var b=r;window.Vue={createApp:d.createApp,version:p.version},window.marked=h.marked,window.Components=g,console.log("Components loaded:",Object.keys(g)),window.addEventListener("error",function(e){console.error("\uD83D\uDEA8 [Global Error]",e.error)}),document.addEventListener("DOMContentLoaded",function(){window.chatConfig||(console.error("chatConfig is niet beschikbaar"),window.chatConfig={}),function(){let e=document.getElementById("sidebar-container");if(!e)return console.error("#sidebar-container niet gevonden");try{let t={tenantMake:{name:window.chatConfig.tenantMake?.name||"",logo_url:window.chatConfig.tenantMake?.logo_url||"",subtitle:window.chatConfig.tenantMake?.subtitle||""},explanationText:window.chatConfig.explanation||"",initialLanguage:window.chatConfig.language||"nl",supportedLanguageDetails:window.chatConfig.supportedLanguageDetails||{},allowedLanguages:window.chatConfig.allowedLanguages||["nl","en","fr","de"],apiPrefix:window.chatConfig.apiPrefix||""},n=(0,d.createApp)(y,t),r=window.chatConfig?.language||"nl",i=window.chatConfig?.apiPrefix||"",o=(0,f.createLanguageProvider)(r,i);n.provide(f.LANGUAGE_PROVIDER_KEY,o),n.config.errorHandler=(e,t,n)=>{console.error("\uD83D\uDEA8 [Vue Error in Sidebar]",e),console.error("Component:",t),console.error("Error Info:",n)};let s=n.mount(e),l=e=>{e.detail&&e.detail.language&&(console.log("Sidebar: Received language change event:",e.detail.language),o.setLanguage(e.detail.language))};document.addEventListener("language-changed",l),s._languageChangeHandler=l,console.log("✅ Sidebar component successfully mounted with LanguageProvider")}catch(e){console.error("\uD83D\uDEA8 [CRITICAL ERROR] Bij initialiseren sidebar:",e)}}(),function(){let e=document.querySelector(".chat-container");if(!e)return console.error("\uD83D\uDEA8 [CRITICAL ERROR] .chat-container niet gevonden");try{if(!b)throw Error("\uD83D\uDEA8 [CRITICAL ERROR] ChatApp component niet gevonden");g.MessageHistory&&g.ChatInput&&g.TypingIndicator&&g.ChatMessage||console.warn("⚠️ [WARN] Niet alle benodigde sub-componenten zijn geladen!");let t={apiPrefix:window.chatConfig.apiPrefix||"",conversationId:window.chatConfig.conversationId||"default",userId:window.chatConfig.userId||null,userName:window.chatConfig.userName||"",initialLanguage:window.chatConfig.language||"nl",supportedLanguageDetails:window.chatConfig.supportedLanguageDetails||{},allowedLanguages:window.chatConfig.allowedLanguages||["nl","en","fr","de"]},n=(0,d.createApp)(b,t);n.provide("sseConfig",{maxRetries:3,retryDelay:2e3,handleSseError:function(e,t){return console.warn(`SSE verbinding voor task ${t} mislukt:`,e),this.fallbackToPolling(t)},fallbackToPolling:function(e){console.log(`Fallback naar polling voor task ${e}`);let n=setInterval(()=>{let r=`${t.apiPrefix}/api/task_status/${e}`;fetch(r).then(e=>{if(!e.ok)throw Error(`Task status endpoint error: ${e.status}`);return e.json()}).then(t=>{let r=new CustomEvent("message",{detail:{data:JSON.stringify(t)}});document.dispatchEvent(new CustomEvent(`sse:${e}:message`,{detail:r})),("completed"===t.status||"failed"===t.status||"cancelled"===t.status)&&clearInterval(n)}).catch(e=>console.error("Polling error:",e))},3e3);return n}}),Object.entries(g).forEach(([e,t])=>{n.component(e,t)}),n.config.errorHandler=(e,t,n)=>{console.error("\uD83D\uDEA8 [Vue Error in ChatApp]",e),console.error("Component:",t),console.error("Error Info:",n)};let r=n.mount(e);window.__chatApp=r,window.__vueApp=n}catch(t){console.error("\uD83D\uDEA8 [CRITICAL ERROR] Bij initialiseren chat app:",t),console.error("Stack trace:",t.stack),e.innerHTML="
    Fout bij het initialiseren van de chat applicatie
    "}}()}),window.getElementFromRef=function(e){if(!e)return null;if(e.value&&e.value instanceof HTMLElement)return e.value;if(e instanceof HTMLElement)return e;if(e.$el&&e.$el instanceof HTMLElement)return e.$el;if("object"==typeof e&&null!==e){let t=e.el||e.$el||e.value;if(t instanceof HTMLElement)return t}return null},console.log("Chat client modules geladen en gebundeld met moderne ES module structuur.")}(); \ No newline at end of file diff --git a/eveai_chat_client/templates/base.html b/eveai_chat_client/templates/base.html index 69a558a..4405259 100644 --- a/eveai_chat_client/templates/base.html +++ b/eveai_chat_client/templates/base.html @@ -48,7 +48,10 @@
    - + +
    + + diff --git a/frontend_src/js/chat-client.js b/frontend_src/js/chat-client.js index 5d8dec5..b06019c 100644 --- a/frontend_src/js/chat-client.js +++ b/frontend_src/js/chat-client.js @@ -21,48 +21,77 @@ window.Vue = { createApp }; window.marked = marked; // Gebruik barrel export voor componenten -import * as Components from '../../../eveai_chat_client/static/assets/js/components/index.js'; +import * as Components from '../../../eveai_chat_client/static/assets/vue-components/index.js'; // Maak Components globaal beschikbaar voor debugging window.Components = Components; console.log('Components loaded:', Object.keys(Components)); // Main chat application - moet als laatste worden geladen -import { ChatApp } from '../../../eveai_chat_client/static/assets/js/ChatApp.js'; +import ChatApp from '../../../eveai_chat_client/static/assets/vue-components/ChatApp.vue'; // Wacht tot het document volledig is geladen voordat we Vue initialiseren document.addEventListener('DOMContentLoaded', () => { console.log('Initializing Chat Application'); - // Check of #app element bestaat - const appElement = document.getElementById('app'); - if (!appElement) { - console.error('DOM element #app not found. Cannot initialize Vue application.'); - return; - } - - console.log('DOM element #app exists:', appElement); - try { - // Maak de Vue applicatie aan - const app = createApp(ChatApp); - - // Registreer alle componenten globaal - for (const [name, component] of Object.entries(Components)) { - app.component(name, component); + // Mount SideBar component to sidebar-container + const sidebarContainer = document.getElementById('sidebar-container'); + if (sidebarContainer && Components.SideBar) { + const sidebarApp = createApp(Components.SideBar, { + tenantMake: window.chatConfig?.tenantMake || { name: 'EveAI', logo_url: '' }, + explanationText: window.chatConfig?.explanationText || '', + initialLanguage: window.chatConfig?.language || 'en', + supportedLanguageDetails: window.chatConfig?.supportedLanguageDetails || {}, + allowedLanguages: window.chatConfig?.allowedLanguages || ['nl', 'en', 'fr', 'de'], + apiPrefix: window.chatConfig?.apiPrefix || '' + }); + + // Registreer componenten voor sidebar app + for (const [name, component] of Object.entries(Components)) { + sidebarApp.component(name, component); + } + + sidebarApp.mount('#sidebar-container'); + console.log('SideBar mounted successfully'); } - // Voeg de IconManagerMixin toe voor alle componenten - app.mixin(IconManagerMixin); + // Mount MobileHeader component to mobile-header-container + const mobileHeaderContainer = document.getElementById('mobile-header-container'); + if (mobileHeaderContainer && Components.MobileHeader) { + const mobileHeaderApp = createApp(Components.MobileHeader, { + tenantMake: window.chatConfig?.tenantMake || { name: 'EveAI', logo_url: '' }, + initialLanguage: window.chatConfig?.language || 'en', + supportedLanguageDetails: window.chatConfig?.supportedLanguageDetails || {}, + allowedLanguages: window.chatConfig?.allowedLanguages || ['nl', 'en', 'fr', 'de'], + apiPrefix: window.chatConfig?.apiPrefix || '' + }); + + // Registreer componenten voor mobile header app + for (const [name, component] of Object.entries(Components)) { + mobileHeaderApp.component(name, component); + } + + mobileHeaderApp.mount('#mobile-header-container'); + console.log('MobileHeader mounted successfully'); + } - // Mount de applicatie op #app - const mountedApp = app.mount('#app'); + // Mount ChatApp to the chat container + const chatContainer = document.querySelector('.chat-container'); + if (chatContainer) { + const chatApp = createApp(ChatApp); + + // Registreer alle componenten globaal voor chat app + for (const [name, component] of Object.entries(Components)) { + chatApp.component(name, component); + } - // Bewaar een referentie naar de app voor debugging - window.__vueApp = app; + chatApp.mount('.chat-container'); + console.log('ChatApp mounted successfully'); + } - console.log('Vue app mounted successfully'); + console.log('All Vue apps mounted successfully'); } catch (error) { - console.error('Error initializing Vue application:', error); + console.error('Error initializing Vue applications:', error); } }); diff --git a/test_mobile_header_fix.py b/test_mobile_header_fix.py new file mode 100644 index 0000000..2abf867 --- /dev/null +++ b/test_mobile_header_fix.py @@ -0,0 +1,206 @@ +#!/usr/bin/env python3 +""" +Test script to verify mobile header visibility fix for eveai_chat_client +""" + +import os +import sys +import re + +def test_mobile_header_css_fix(): + """Test that MobileHeader component has correct CSS media queries""" + print("Testing MobileHeader CSS fix...") + + mobile_header_path = 'eveai_chat_client/static/assets/vue-components/MobileHeader.vue' + + if not os.path.exists(mobile_header_path): + print(f"❌ MobileHeader.vue not found at {mobile_header_path}") + return False + + with open(mobile_header_path, 'r') as f: + content = f.read() + + # Check for mobile media query (show on mobile) + mobile_show_pattern = r'@media\s*\(\s*max-width:\s*768px\s*\)\s*\{[^}]*\.mobile-header\s*\{[^}]*display:\s*flex' + mobile_show_match = re.search(mobile_show_pattern, content, re.DOTALL) + + if not mobile_show_match: + print("❌ Missing mobile media query to show mobile header") + print(" Expected: @media (max-width: 768px) with .mobile-header { display: flex }") + return False + else: + print("✓ Found mobile media query to show header on mobile devices") + + # Check for desktop media query (hide on desktop) + desktop_hide_pattern = r'@media\s*\(\s*min-width:\s*769px\s*\)\s*\{[^}]*\.mobile-header\s*\{[^}]*display:\s*none' + desktop_hide_match = re.search(desktop_hide_pattern, content, re.DOTALL) + + if not desktop_hide_match: + print("❌ Missing desktop media query to hide mobile header") + print(" Expected: @media (min-width: 769px) with .mobile-header { display: none }") + return False + else: + print("✓ Found desktop media query to hide header on desktop devices") + + # Check that both media queries exist in correct order + mobile_pos = content.find('@media (max-width: 768px)') + desktop_pos = content.find('@media (min-width: 769px)') + + if mobile_pos == -1 or desktop_pos == -1: + print("❌ Media queries not found in expected format") + return False + + if mobile_pos > desktop_pos: + print("⚠️ Warning: Mobile media query comes after desktop query (may cause specificity issues)") + + print("✅ MobileHeader CSS fix is correctly implemented") + return True + +def test_global_css_rules(): + """Test that global CSS rules for mobile-header-container are correct""" + print("\nTesting global CSS rules...") + + css_path = 'eveai_chat_client/static/assets/css/chat.css' + + if not os.path.exists(css_path): + print(f"❌ chat.css not found at {css_path}") + return False + + with open(css_path, 'r') as f: + content = f.read() + + # Check default hidden state + if '#mobile-header-container' not in content or 'display: none' not in content: + print("❌ Missing default hidden state for mobile-header-container") + return False + else: + print("✓ Found default hidden state for mobile-header-container") + + # Check mobile media query shows container + # Look for the media query and then check if mobile-header-container is set to display: block within it + media_query_start = content.find('@media (max-width: 768px)') + if media_query_start == -1: + print("❌ Missing @media (max-width: 768px) query") + return False + + # Find the closing brace of this media query + brace_count = 0 + media_query_end = media_query_start + for i, char in enumerate(content[media_query_start:]): + if char == '{': + brace_count += 1 + elif char == '}': + brace_count -= 1 + if brace_count == 0: + media_query_end = media_query_start + i + break + + media_query_content = content[media_query_start:media_query_end + 1] + + if '#mobile-header-container' in media_query_content and 'display: block' in media_query_content: + print("✓ Found mobile media query to show mobile-header-container") + else: + print("❌ Mobile media query doesn't properly show mobile-header-container") + return False + + print("✅ Global CSS rules are correct") + return True + +def test_built_assets(): + """Test that built assets exist and are recent""" + print("\nTesting built assets...") + + assets_to_check = [ + 'eveai_chat_client/static/dist/chat-client.js', + 'eveai_chat_client/static/dist/chat-client.css' + ] + + for asset_path in assets_to_check: + if not os.path.exists(asset_path): + print(f"❌ Built asset not found: {asset_path}") + return False + else: + # Check file size to ensure it's not empty + size = os.path.getsize(asset_path) + if size == 0: + print(f"❌ Built asset is empty: {asset_path}") + return False + else: + print(f"✓ Built asset exists and has content: {asset_path} ({size} bytes)") + + print("✅ Built assets are present and valid") + return True + +def test_component_structure(): + """Test that MobileHeader component structure is intact""" + print("\nTesting MobileHeader component structure...") + + mobile_header_path = 'eveai_chat_client/static/assets/vue-components/MobileHeader.vue' + + with open(mobile_header_path, 'r') as f: + content = f.read() + + required_elements = [ + 'class="mobile-header"', + 'SideBarLogo', + 'LanguageSelector', + 'justify-content: space-between', + 'align-items: center' + ] + + missing_elements = [] + for element in required_elements: + if element not in content: + missing_elements.append(element) + else: + print(f"✓ Found: {element}") + + if missing_elements: + print(f"❌ Missing elements in MobileHeader:") + for element in missing_elements: + print(f" - {element}") + return False + + print("✅ MobileHeader component structure is intact") + return True + +def main(): + """Run all tests""" + print("🔧 Testing Mobile Header Visibility Fix") + print("=" * 50) + + tests = [ + test_mobile_header_css_fix, + test_global_css_rules, + test_built_assets, + test_component_structure + ] + + passed = 0 + failed = 0 + + for test in tests: + try: + if test(): + passed += 1 + else: + failed += 1 + except Exception as e: + print(f"❌ Test failed with error: {e}") + failed += 1 + print() + + print("=" * 50) + print(f"📊 Test Results: {passed} passed, {failed} failed") + + if failed == 0: + print("🎉 Mobile header visibility fix is complete!") + print("📱 The MobileHeader should now be visible when switching to mobile mode.") + return True + else: + print("⚠️ Some tests failed. Please review the implementation.") + return False + +if __name__ == "__main__": + success = main() + sys.exit(0 if success else 1) \ No newline at end of file diff --git a/test_mobile_responsive.py b/test_mobile_responsive.py new file mode 100644 index 0000000..0cbdf89 --- /dev/null +++ b/test_mobile_responsive.py @@ -0,0 +1,257 @@ +#!/usr/bin/env python3 +""" +Test script to verify mobile responsive functionality for eveai_chat_client +""" + +import os +import sys + +def test_files_exist(): + """Test that all required files exist""" + print("Testing file existence...") + + files_to_check = [ + # Vue components + 'eveai_chat_client/static/assets/vue-components/MobileHeader.vue', + 'eveai_chat_client/static/assets/vue-components/SideBar.vue', + 'eveai_chat_client/static/assets/vue-components/index.js', + + # Templates + 'eveai_chat_client/templates/base.html', + 'eveai_chat_client/templates/scripts.html', + + # CSS + 'eveai_chat_client/static/assets/css/chat.css', + + # Source files + 'frontend_src/js/chat-client.js', + + # Built files + 'eveai_chat_client/static/dist/chat-client.js', + 'eveai_chat_client/static/dist/chat-client.css', + ] + + missing_files = [] + for file_path in files_to_check: + if not os.path.exists(file_path): + missing_files.append(file_path) + else: + print(f"✓ {file_path}") + + if missing_files: + print(f"\n❌ Missing files:") + for file_path in missing_files: + print(f" - {file_path}") + return False + + print("✅ All required files exist") + return True + +def test_mobile_header_component(): + """Test MobileHeader component structure""" + print("\nTesting MobileHeader component...") + + mobile_header_path = 'eveai_chat_client/static/assets/vue-components/MobileHeader.vue' + + with open(mobile_header_path, 'r') as f: + content = f.read() + + # Check for required elements + required_elements = [ + 'class="mobile-header"', + 'SideBarLogo', + 'LanguageSelector', + '@media (min-width: 769px)', + 'display: none' + ] + + missing_elements = [] + for element in required_elements: + if element not in content: + missing_elements.append(element) + else: + print(f"✓ Found: {element}") + + if missing_elements: + print(f"❌ Missing elements in MobileHeader:") + for element in missing_elements: + print(f" - {element}") + return False + + print("✅ MobileHeader component structure is correct") + return True + +def test_css_responsive_rules(): + """Test CSS responsive rules""" + print("\nTesting CSS responsive rules...") + + css_path = 'eveai_chat_client/static/assets/css/chat.css' + + with open(css_path, 'r') as f: + content = f.read() + + # Check for required CSS rules + required_rules = [ + '#mobile-header-container', + '#sidebar-container', + '@media (max-width: 768px)', + 'flex-direction: column', + 'display: none', + 'display: block' + ] + + missing_rules = [] + for rule in required_rules: + if rule not in content: + missing_rules.append(rule) + else: + print(f"✓ Found: {rule}") + + if missing_rules: + print(f"❌ Missing CSS rules:") + for rule in missing_rules: + print(f" - {rule}") + return False + + print("✅ CSS responsive rules are correct") + return True + +def test_base_html_structure(): + """Test base.html structure""" + print("\nTesting base.html structure...") + + base_html_path = 'eveai_chat_client/templates/base.html' + + with open(base_html_path, 'r') as f: + content = f.read() + + # Check for required elements + required_elements = [ + 'id="mobile-header-container"', + 'id="sidebar-container"', + 'class="content-area"' + ] + + missing_elements = [] + for element in required_elements: + if element not in content: + missing_elements.append(element) + else: + print(f"✓ Found: {element}") + + if missing_elements: + print(f"❌ Missing elements in base.html:") + for element in missing_elements: + print(f" - {element}") + return False + + print("✅ base.html structure is correct") + return True + +def test_component_exports(): + """Test component exports""" + print("\nTesting component exports...") + + index_js_path = 'eveai_chat_client/static/assets/vue-components/index.js' + + with open(index_js_path, 'r') as f: + content = f.read() + + # Check for required exports + required_exports = [ + 'export { default as SideBar }', + 'export { default as MobileHeader }' + ] + + missing_exports = [] + for export in required_exports: + if export not in content: + missing_exports.append(export) + else: + print(f"✓ Found: {export}") + + if missing_exports: + print(f"❌ Missing exports:") + for export in missing_exports: + print(f" - {export}") + return False + + print("✅ Component exports are correct") + return True + +def test_chat_client_js(): + """Test chat-client.js mounting logic""" + print("\nTesting chat-client.js mounting logic...") + + chat_client_path = 'frontend_src/js/chat-client.js' + + with open(chat_client_path, 'r') as f: + content = f.read() + + # Check for required mounting logic + required_elements = [ + 'getElementById(\'sidebar-container\')', + 'getElementById(\'mobile-header-container\')', + 'Components.SideBar', + 'Components.MobileHeader', + 'mount(\'#sidebar-container\')', + 'mount(\'#mobile-header-container\')' + ] + + missing_elements = [] + for element in required_elements: + if element not in content: + missing_elements.append(element) + else: + print(f"✓ Found: {element}") + + if missing_elements: + print(f"❌ Missing elements in chat-client.js:") + for element in missing_elements: + print(f" - {element}") + return False + + print("✅ chat-client.js mounting logic is correct") + return True + +def main(): + """Run all tests""" + print("🧪 Testing Mobile Responsive Implementation") + print("=" * 50) + + tests = [ + test_files_exist, + test_mobile_header_component, + test_css_responsive_rules, + test_base_html_structure, + test_component_exports, + test_chat_client_js + ] + + passed = 0 + failed = 0 + + for test in tests: + try: + if test(): + passed += 1 + else: + failed += 1 + except Exception as e: + print(f"❌ Test failed with error: {e}") + failed += 1 + print() + + print("=" * 50) + print(f"📊 Test Results: {passed} passed, {failed} failed") + + if failed == 0: + print("🎉 All tests passed! Mobile responsive implementation is complete.") + return True + else: + print("⚠️ Some tests failed. Please review the implementation.") + return False + +if __name__ == "__main__": + success = main() + sys.exit(0 if success else 1) \ No newline at end of file