reneco-advanced-input-module 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/ocr-file-uploader.voice-input-module.entry.cjs.js.map +1 -0
  3. package/dist/cjs/ocr-file-uploader_2.cjs.entry.js +4486 -0
  4. package/dist/cjs/ocr-file-uploader_2.cjs.entry.js.map +1 -0
  5. package/dist/cjs/voice-input-module.cjs.js +1 -1
  6. package/dist/collection/collection-manifest.json +8 -2
  7. package/dist/collection/components/voice-input-module/voice-input-module.css +76 -0
  8. package/dist/collection/components/voice-input-module/voice-input-module.js +218 -72
  9. package/dist/collection/components/voice-input-module/voice-input-module.js.map +1 -1
  10. package/dist/collection/services/llm.service.js +2 -2
  11. package/dist/collection/services/llm.service.js.map +1 -1
  12. package/dist/collection/services/speech-to-text.service.js +2 -4
  13. package/dist/collection/services/speech-to-text.service.js.map +1 -1
  14. package/dist/collection/utils/schema-converter.js +1 -1
  15. package/dist/collection/utils/schema-converter.js.map +1 -1
  16. package/dist/components/ocr-file-uploader.js +9 -0
  17. package/dist/components/ocr-file-uploader.js.map +1 -0
  18. package/dist/components/{file-uploader2.js → ocr-file-uploader2.js} +16 -12
  19. package/dist/components/ocr-file-uploader2.js.map +1 -0
  20. package/dist/components/voice-input-module.js +3257 -93
  21. package/dist/components/voice-input-module.js.map +1 -1
  22. package/dist/esm/loader.js +1 -1
  23. package/dist/esm/ocr-file-uploader.voice-input-module.entry.js.map +1 -0
  24. package/dist/esm/ocr-file-uploader_2.entry.js +4483 -0
  25. package/dist/esm/ocr-file-uploader_2.entry.js.map +1 -0
  26. package/dist/esm/voice-input-module.js +1 -1
  27. package/dist/types/components/voice-input-module/voice-input-module.d.ts +9 -1
  28. package/dist/types/components.d.ts +8 -31
  29. package/dist/types/services/speech-to-text.service.d.ts +1 -1
  30. package/dist/voice-input-module/ocr-file-uploader.voice-input-module.entry.esm.js.map +1 -0
  31. package/dist/voice-input-module/p-37de1da2.entry.js +3 -0
  32. package/dist/voice-input-module/p-37de1da2.entry.js.map +1 -0
  33. package/dist/voice-input-module/voice-input-module.esm.js +1 -1
  34. package/loader/cdn.js +1 -0
  35. package/loader/index.cjs.js +1 -0
  36. package/loader/index.d.ts +24 -0
  37. package/loader/index.es2017.js +1 -0
  38. package/loader/index.js +2 -0
  39. package/package.json +7 -3
  40. package/www/build/index.esm.js +2 -0
  41. package/www/build/index.esm.js.map +1 -0
  42. package/www/build/loader.esm.js.map +1 -0
  43. package/www/build/ocr-file-uploader.voice-input-module.entry.esm.js.map +1 -0
  44. package/www/build/p-37de1da2.entry.js +3 -0
  45. package/www/build/p-37de1da2.entry.js.map +1 -0
  46. package/www/build/p-6438474d.js +2 -0
  47. package/www/build/p-DQuL1Twl.js +2 -0
  48. package/www/build/p-DQuL1Twl.js.map +1 -0
  49. package/www/build/p-jmc2yzBp.js +3 -0
  50. package/www/build/p-jmc2yzBp.js.map +1 -0
  51. package/www/build/voice-input-module.esm.js +2 -0
  52. package/www/build/voice-input-module.esm.js.map +1 -0
  53. package/www/build/voice-input-module.js +33 -0
  54. package/www/host.config.json +15 -0
  55. package/www/index.html +1662 -0
  56. package/.editorconfig +0 -15
  57. package/.prettierrc.json +0 -13
  58. package/api-key-inject.js +0 -46
  59. package/dist/cjs/file-uploader.voice-input-module.entry.cjs.js.map +0 -1
  60. package/dist/cjs/file-uploader_2.cjs.entry.js +0 -1319
  61. package/dist/cjs/file-uploader_2.cjs.entry.js.map +0 -1
  62. package/dist/collection/components/file-uploader/file-uploader.css +0 -26
  63. package/dist/collection/components/file-uploader/file-uploader.js +0 -130
  64. package/dist/collection/components/file-uploader/file-uploader.js.map +0 -1
  65. package/dist/components/file-uploader.d.ts +0 -11
  66. package/dist/components/file-uploader.js +0 -9
  67. package/dist/components/file-uploader.js.map +0 -1
  68. package/dist/components/file-uploader2.js.map +0 -1
  69. package/dist/esm/file-uploader.voice-input-module.entry.js.map +0 -1
  70. package/dist/esm/file-uploader_2.entry.js +0 -1316
  71. package/dist/esm/file-uploader_2.entry.js.map +0 -1
  72. package/dist/types/components/file-uploader/file-uploader.d.ts +0 -8
  73. package/dist/voice-input-module/file-uploader.voice-input-module.entry.esm.js.map +0 -1
  74. package/dist/voice-input-module/p-7b4f33ba.entry.js +0 -2
  75. package/dist/voice-input-module/p-7b4f33ba.entry.js.map +0 -1
  76. package/env-config.js +0 -4
  77. package/inject-env.js +0 -20
  78. package/src/components/file-uploader/file-uploader.css +0 -26
  79. package/src/components/file-uploader/file-uploader.tsx +0 -100
  80. package/src/components/file-uploader/readme.md +0 -31
  81. package/src/components/voice-input-module/readme.md +0 -114
  82. package/src/components/voice-input-module/voice-input-module.css +0 -251
  83. package/src/components/voice-input-module/voice-input-module.tsx +0 -731
  84. package/src/components.d.ts +0 -158
  85. package/src/index.html +0 -663
  86. package/src/index.ts +0 -12
  87. package/src/services/audio-recorder.service.ts +0 -74
  88. package/src/services/llm.service.ts +0 -221
  89. package/src/services/speech-to-text.service.ts +0 -72
  90. package/src/types/form-schema.types.ts +0 -78
  91. package/src/types/service-providers.types.ts +0 -22
  92. package/src/utils/schema-converter.ts +0 -494
  93. package/stencil.config.ts +0 -24
  94. package/tsconfig.json +0 -30
@@ -0,0 +1,3 @@
1
+ import{r as e,h as t,c as i}from"./p-jmc2yzBp.js";const r=".upload-container{display:inline-block;cursor:pointer;width:50px;height:50px}.upload-button{display:flex;align-items:center;justify-content:center;transition:transform 0.2s ease, box-shadow 0.2s ease;user-select:none}.upload-button svg{width:50px;height:50px;stroke:#44ee44}.upload-button:hover svg{transform:scale(1.05);stroke:#33dd33}";const s=class{constructor(t){e(this,t);this.batch=false;this.triggerUpload=()=>{this.fileInput.click()};this.handleFileChange=async e=>{const t=e.target;if(!t.files||t.files.length===0)return;const i=t.files[0];console.log("Selected file:",i);const r=new FormData;r.append("file",i);if(this.batch){try{const e=await fetch("http://127.0.0.1:5001/api/convert-to-xml",{method:"POST",body:r});if(!e.ok){console.error("There has been an error!:",e);throw new Error(`HTTP error! status: ${e.status}`)}const t=await e.blob();const i=window.URL.createObjectURL(t);const s=document.createElement("a");s.href=i;s.download="result-"+Date.now().toString()+".xlsx";document.body.appendChild(s);s.click();s.remove();window.URL.revokeObjectURL(i)}catch(e){console.error(e);alert("Error uploading file")}}else{try{if(this.jsonSchema){r.append("json_schema",this.jsonSchema)}const e=await fetch("http://127.0.0.1:5001/api/convert-to-json",{method:"POST",body:r});if(!e.ok){console.error("There has been an error!:",e);throw new Error(`HTTP error! status: ${e.status}`)}const t=await e.json();console.log("Upload successful:",t);if(this.callback&&t[0]&&t[0].content){this.callback(t[0].content)}}catch(e){console.error(e);alert("Error uploading file")}}}}render(){return t("div",{key:"fecf4f7a1151d5a93092dcd7f34f61bbb5020a3a",class:"upload-container",onClick:this.triggerUpload},t("input",{key:"5dae519517ce2c93a5bedb54ec454aa7f0842670",type:"file",ref:e=>this.fileInput=e,onChange:this.handleFileChange,style:{display:"none"}}),t("div",{key:"856fae3bb684b769fbd1869d6e7ed96d4bd4706c",class:"upload-button"},t("svg",{key:"94b1f879d42904038a34f574607a46dcd6075fa2",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{key:"020370d673d73a845aea7c15cfece3daa5214a78",d:"M13.5 3H12H8C6.34315 3 5 4.34315 5 6V18C5 19.6569 6.34315 21 8 21H12M13.5 3L19 8.625M13.5 3V7.625C13.5 8.17728 13.9477 8.625 14.5 8.625H19M19 8.625V11.8125","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),t("path",{key:"3e14a32c1533e66de5da8bdcac5206196bd6302b",d:"M17.5 21L17.5 15M17.5 15L20 17.5M17.5 15L15 17.5","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}))))}};s.style=r;class n{constructor(){this.mediaRecorder=null;this.audioChunks=[];this.stream=null}async startRecording(){try{if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){console.error("Failed to start recording:","Microphone access is not supported in this browser or the page is not served over HTTPS/localhost.");return}this.stream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:true,noiseSuppression:true,autoGainControl:true}});this.audioChunks=[];this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:"audio/webm;codecs=opus"});this.mediaRecorder.ondataavailable=e=>{if(e.data&&e.data.size>0){this.audioChunks.push(e.data)}};this.mediaRecorder.start(100)}catch(e){console.error("Failed to start recording:",e)}}async stopRecording(){return new Promise(((e,t)=>{if(!this.mediaRecorder){t(new Error("No active recording found"));return}this.mediaRecorder.onstop=()=>{const t=new Blob(this.audioChunks,{type:"audio/webm"});this.cleanup();e(t)};this.mediaRecorder.onerror=e=>{t(new Error(`Recording error: ${e}`))};this.mediaRecorder.stop()}))}isRecording(){var e;return((e=this.mediaRecorder)===null||e===void 0?void 0:e.state)==="recording"}cleanup(){if(this.stream){this.stream.getTracks().forEach((e=>e.stop()));this.stream=null}this.mediaRecorder=null;this.audioChunks=[]}}class o{constructor(e){this.apiKey=(e===null||e===void 0?void 0:e.apiKey)||this.getEnvironmentVariable("OPENAI_API_KEY")||"";this.baseUrl=(e===null||e===void 0?void 0:e.baseUrl)||"https://api.openai.com/v1";if(!this.apiKey){throw new Error("OpenAI API key is required for Whisper service")}}getEnvironmentVariable(e){if(typeof process!=="undefined"&&process.env){return process.env[e]}return window[e]||undefined}async transcribe(e,t="en"){var i;try{const r=new FormData;r.append("file",e);r.append("model","gpt-4o-transcribe");r.append("language",t);r.append("response_format","json");r.append("max_output_tokens","2000");const s=await fetch(`${this.baseUrl}/audio/transcriptions`,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`},body:r});if(!s.ok){const e=await s.json().catch((()=>({error:"Unknown error"})));throw new Error(`Transcription failed: ${((i=e.error)===null||i===void 0?void 0:i.message)||s.statusText}`)}const n=await s.json();return n.text||""}catch(e){throw new Error(`Speech-to-text transcription failed: ${e.message}`)}}}class a{static create(e){var t;const i=((t=e.speechToText)===null||t===void 0?void 0:t.provider)||"whisper";switch(i){case"whisper":return new o(e.speechToText);default:throw new Error(`Unsupported speech-to-text provider: ${i}`)}}}class l{constructor(e){this.apiKey=(e===null||e===void 0?void 0:e.apiKey)||this.getEnvironmentVariable("OPENAI_API_KEY")||"";this.model=(e===null||e===void 0?void 0:e.model)||"gpt-4.1";this.baseUrl=(e===null||e===void 0?void 0:e.baseUrl)||"https://api.openai.com/v1";if(!this.apiKey){throw new Error("OpenAI API key is required for LLM service")}}getEnvironmentVariable(e){if(typeof process!=="undefined"&&process.env){return process.env[e]}return window[e]||undefined}getOptimizeFieldsDescription(e){return Object.values(e).map((e=>{var t;return`- ${(t=e.name)!==null&&t!==void 0?t:e.title} `+`(${e.type}`+`${e.required?", required":""}`+`${e.readonly?", readonly":""}`+`${e.min&&e.min!==""?", min="+e.min:""}`+`${e.max&&e.max!==""?", max="+e.max:""}`+`)`+`${e.options?` - options: ${e.options.join(", ")}`:""}`})).join("\n")}async fillFormFromTranscription(e,t){return this.fillForm(e,t,true)}async fillFormFromJson(e,t){return this.fillForm(e,t,false)}async fillForm(e,t,i=true){var r,s;try{if((t===null||t===void 0?void 0:t.fields)||(t===null||t===void 0?void 0:t.schema)){const i=(t===null||t===void 0?void 0:t.fields)||(t===null||t===void 0?void 0:t.schema);const s=`You are an expert form-filling assistant. You will receive a voice transcription and form field definitions. Your task is to extract values from the spoken content.\n Rules:\n 1. Only extract values that can be confidently determined from the transcription\n 2. Respect field types (string, number, datetime, boolean, select)\n 3. For datetime fields, use ISO format (YYYY-MM-DDTHH:MM)\n 4. For date fields, use the following format: DD/MM/YYYY\n 5. For boolean fields, interpret yes/no, true/false, positive/negative responses\n 6. For select fields, use exact option values from the provided choices\n 7. Only include fields where relevant information is found\n 8. The current GMT datetime is ${(new Date).toGMTString()}\n 9. Respect the constraints written between parenthesis for readonly status (readonly fields must not be filled with values), min and max values, whatever the transcription says\n\n Respond with JSON in this exact format: {"fields": [{"name": "field_name", "value": "extracted_value"}]}`;let n=`\n Voice transcription: "${e}"\n\n Form fields:\n ${this.getOptimizeFieldsDescription(i)}\n\n Please extract values from the Transcription for these fields.\n `;const o=await fetch(`${this.baseUrl}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({model:this.model,messages:[{role:"system",content:s},{role:"user",content:n}],response_format:{type:"json_object"},temperature:.1})});if(!o.ok){const e=await o.json().catch((()=>({error:"Unknown error"})));throw new Error(`LLM API failed: ${((r=e.error)===null||r===void 0?void 0:r.message)||o.statusText}`)}const a=await o.json();return JSON.parse(a.choices[0].message.content)}const i=`You are an expert form-filling assistant. You will receive a voice transcription and a JSON form schema. Your task is to intelligently fill the form fields based on the spoken content.\n Rules:\n 1. Only fill fields that can be confidently determined from the transcription\n 2. Respect field types (string, number, date, boolean, select)\n 3. For datetime fields, use ISO format (YYYY-MM-DDTHH:MM)\n 4. For date fields, use the following format: DD/MM/YYYY\n 5. For boolean fields, interpret yes/no, true/false, positive/negative responses\n 6. For select fields, match the closest option from the provided choices\n 7. Leave fields empty if no relevant information is found\n 8. Return the same schema structure with 'default' values filled\n 9. The current GMT datetime is ${(new Date).toGMTString()}\n 10. Respect the constraints written between parenthesis for readonly status (readonly fields must not be filled with values), min and max values, whatever the transcription says\n\n Respond with JSON in this exact format: {"schema": {...}}`;let n=`\n Voice transcription: "${e}"\n\n Form schema to fill:\n ${JSON.stringify(t,null,2)}\n\n Please fill the form fields based on the Transcription and return the schema with default values populated.\n `;const o=await fetch(`${this.baseUrl}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify({model:this.model,messages:[{role:"system",content:i},{role:"user",content:n}],response_format:{type:"json_object"},temperature:.1})});if(!o.ok){const e=await o.json().catch((()=>({error:"Unknown error"})));throw new Error(`LLM API failed: ${((s=e.error)===null||s===void 0?void 0:s.message)||o.statusText}`)}const a=await o.json();const l=JSON.parse(a.choices[0].message.content);if(!l.schema){throw new Error("Invalid response format from LLM service")}return l}catch(e){throw new Error(`Form filling failed: ${e.message}`)}}}class c{static create(e){var t;const i=((t=e.llm)===null||t===void 0?void 0:t.provider)||"openai";switch(i){case"openai":return new l(e.llm);default:throw new Error(`Unsupported LLM provider: ${i}`)}}}class f{static convertXmlToJsonLegacy(e){try{const t=new DOMParser;const i=t.parseFromString(e,"text/xml");if(i.querySelector("parsererror")){throw new Error("Invalid XML format")}const r={schema:{}};const s=i.querySelector("form");if(s){r.title=s.getAttribute("title")||undefined;r.description=s.getAttribute("description")||undefined}const n=i.querySelectorAll("input, select, textarea");n.forEach((e=>{const t=e.getAttribute("name");if(!t)return;const i={type:this.mapXmlTypeToJsonTypeLegacy(e.tagName.toLowerCase(),e.getAttribute("type")),title:e.getAttribute("title")||e.getAttribute("placeholder")||t,description:e.getAttribute("description")||undefined,required:e.hasAttribute("required"),default:e.getAttribute("value")||undefined};if(e.tagName.toLowerCase()==="select"){const t=Array.from(e.querySelectorAll("option")).map((e=>e.textContent||e.getAttribute("value")||""));if(t.length>0){i.options=t}}const s=e.getAttribute("min");const n=e.getAttribute("max");const o=e.getAttribute("pattern");if(s)i.min=parseFloat(s);if(n)i.max=parseFloat(n);if(o)i.pattern=o;r.schema[t]=i}));return r}catch(e){throw new Error(`XML to JSON conversion failed: ${e.message}`)}}static convertJsonToXmlLegacy(e){try{const t=document.implementation.createDocument("","",null);const i=t.createElement("form");if(e.title){i.setAttribute("title",e.title)}if(e.description){i.setAttribute("description",e.description)}Object.entries(e.schema).forEach((([r,s])=>{var n;const o=e[r];const a=Object.assign(Object.assign({},s),{default:(n=s.default)!==null&&n!==void 0?n:o});const l=this.createXmlElementLegacy(t,r,a);if(l){i.appendChild(l)}}));t.appendChild(i);const r=new XMLSerializer;return r.serializeToString(t)}catch(e){throw new Error(`JSON to XML conversion failed: ${e.message}`)}}static mapXmlTypeToJsonTypeLegacy(e,t){switch(e){case"select":return"select";case"textarea":return"string";case"input":switch(t){case"number":case"range":return"number";case"date":case"datetime-local":case"time":return"date";case"checkbox":return"boolean";default:return"string"}default:return"string"}}static createXmlElementLegacy(e,t,i){let r;switch(i.type){case"select":r=e.createElement("select");if(i.options){i.options.forEach((t=>{const s=e.createElement("option");s.setAttribute("value",t);s.textContent=t;if(i.default!==undefined&&i.default===t){s.setAttribute("selected","true")}r.appendChild(s)}))}break;case"boolean":r=e.createElement("input");r.setAttribute("type","checkbox");if(i.default===true||i.default==="true"){r.setAttribute("checked","true")}break;case"number":r=e.createElement("input");r.setAttribute("type","number");if(i.min!==undefined)r.setAttribute("min",i.min.toString());if(i.max!==undefined)r.setAttribute("max",i.max.toString());if(i.default!==undefined)r.setAttribute("value",i.default.toString());break;case"date":r=e.createElement("input");r.setAttribute("type","date");if(i.default!==undefined)r.setAttribute("value",i.default.toString());break;default:r=e.createElement("input");r.setAttribute("type","text");if(i.default!==undefined)r.setAttribute("value",i.default.toString())}r.setAttribute("name",t);r.setAttribute("title",i.title);if(i.description){r.setAttribute("description",i.description)}if(i.required){r.setAttribute("required","true")}if(i.pattern){r.setAttribute("pattern",i.pattern)}return r}static async convertXmlToJson(e,t="http://localhost",i="en"){var r,s,n,o,a,l,c,f,u,h,d,p,v,m,b,w,g,y,x,k,$,S,C,O;try{const i=new DOMParser;const T=i.parseFromString(e,"text/xml");if(T.querySelector("parsererror")){throw new Error("Invalid XML format")}const M=T.querySelector("Xforms");if(!M)throw new Error("No Xforms root element found");const j=M.querySelectorAll("Fields");if(j.length===0)throw new Error("No Fields elements found");const E={fields:{}};for(const e of Array.from(j)){const i=(s=(r=e.querySelector("SystemName"))===null||r===void 0?void 0:r.textContent)===null||s===void 0?void 0:s.trim();if(!i)return;const T=(o=(n=e.querySelector("HelpText"))===null||n===void 0?void 0:n.textContent)===null||o===void 0?void 0:o.trim();const M=(a=e.querySelector("DefaultValue"))===null||a===void 0?void 0:a.textContent;const j=((c=(l=e.querySelector("Enabled"))===null||l===void 0?void 0:l.textContent)===null||c===void 0?void 0:c.trim().toLowerCase())||"true";const F=j==="true";const P=(f=e.querySelector("ID"))===null||f===void 0?void 0:f.textContent;const I=(u=e.querySelector("TFie_PK_ID"))===null||u===void 0?void 0:u.textContent;const L=(h=e.querySelector("TVal_PK_ID"))===null||h===void 0?void 0:h.textContent;const R=(d=e.querySelector("TFIn_PK_ID"))===null||d===void 0?void 0:d.textContent;const N=(p=e.querySelector("isForm"))===null||p===void 0?void 0:p.textContent;const D=(v=e.querySelector("LabelText"))===null||v===void 0?void 0:v.textContent;const _=(m=e.querySelector("SystemName"))===null||m===void 0?void 0:m.textContent;const A=(b=e.querySelector("CssStyle"))===null||b===void 0?void 0:b.textContent;const z=((w=e.querySelector("ControlType"))===null||w===void 0?void 0:w.textContent)||"TextBox";const J=(g=e.querySelector("ValidationRequired"))===null||g===void 0?void 0:g.textContent;const V=(y=e.querySelector("ValidationMin"))===null||y===void 0?void 0:y.textContent;const q=(x=e.querySelector("ValidationMax"))===null||x===void 0?void 0:x.textContent;const H=(k=e.querySelector("Mask"))===null||k===void 0?void 0:k.textContent;const Y=($=e.querySelector("TypeId"))===null||$===void 0?void 0:$.textContent;const U=(S=e.querySelector("Unit"))===null||S===void 0?void 0:S.textContent;const W=(C=e.querySelector("TFie_Fullpath"))===null||C===void 0?void 0:C.textContent;const X=(O=e.querySelector("TVal_FK_Parent_ID"))===null||O===void 0?void 0:O.textContent;const B={type:this.mapControlTypeToJsonType(z),title:D,description:T,required:(J===null||J===void 0?void 0:J.toLowerCase())==="required",default:M||undefined,realType:z,Enabled:F,ID:P,TFie_PK_ID:I,TVal_PK_ID:L,TFIn_PK_ID:R,isForm:N,LabelText:D,SystemName:_,CssStyle:A,ControlType:z,ValidationRequired:J,ValidationMin:V,ValidationMax:q,Mask:H,TypeId:Y,Unit:U,TFie_Fullpath:W,TVal_FK_Parent_ID:X};if(B.type.toLowerCase()==="select"){try{const e=await fetch(`${t}/ng/api/v1/classification/getList/${B.ControlType.toLowerCase()=="termpicker"?"Position":"Thesaurus"}/?StartNodeID=${Y}`);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const i=await e.json();if(Array.isArray(i)){const e=i.map((e=>({value:e.ID,label:e.System_Name})));if(e.length>0){B.pickerOptions=e;B.options=e.map((e=>e.label.replace("'","")))}}else{console.error("Unexpected API response format:",i)}}catch(e){console.error("Error fetching classification data:",e)}}if(V)B.min=parseFloat(V);if(q)B.max=parseFloat(q);if(H)B.pattern=H;E.fields[P]=B}return E}catch(e){throw new Error(`XML to JSON conversion failed: ${e.message}`)}}static convertJsonToXml(e){try{const t=document.implementation.createDocument("","",null);const i=t.createElement("Xforms");Object.entries(e.schema?e.schema:e.fields).forEach((([r,s])=>{const n=t.createElement("Fields");const o=s;const a=t.createElement("SystemName");a.textContent=o.SystemName;n.appendChild(a);const l=t.createElement("LabelText");l.textContent=o.title||r;n.appendChild(l);const c=t.createElement("HelpText");c.textContent=o.description;n.appendChild(c);const f=t.createElement("ControlType");f.textContent=o.realType;n.appendChild(f);const u=t.createElement("ValidationRequired");u.textContent=o.required?"Required":"Not Required";n.appendChild(u);const h=t.createElement("DefaultValue");const d=t.createElement("Value");if(e[r]!==undefined){h.textContent=e[r].toString();d.textContent=e[r].toString()}else{h.textContent=o.default||o.value;d.textContent=o.value||o.default}n.appendChild(h);n.appendChild(d);const p=t.createElement("Enabled");p.textContent=o.Enabled===false?"False":"True";n.appendChild(p);const v=t.createElement("isForm");v.textContent=o.isForm;n.appendChild(v);if(o.type==="header"){const e=t.createElement("Header");e.textContent=o.title;n.appendChild(e)}const m=t.createElement("ID");m.textContent=o.ID;n.appendChild(m);const b=t.createElement("TFie_PK_ID");b.textContent=o.TFie_PK_ID;n.appendChild(b);const w=t.createElement("TVal_PK_ID");w.textContent=o.TVal_PK_ID;n.appendChild(w);const g=t.createElement("TFIn_PK_ID");g.textContent=o.TFIn_PK_ID;n.appendChild(g);const y=t.createElement("CssStyle");y.textContent=o.CssStyle;n.appendChild(y);const x=t.createElement("TypeId");x.textContent=o.TypeId;n.appendChild(x);const k=t.createElement("Unit");k.textContent=o.Unit;n.appendChild(k);const $=t.createElement("TFie_Fullpath");$.textContent=o.TFie_Fullpath;n.appendChild($);const S=t.createElement("TVal_FK_Parent_ID");S.textContent=o.TVal_FK_Parent_ID;n.appendChild(S);const C=t.createElement("ValidationMin");C.textContent=o.ValidationMin;n.appendChild(C);const O=t.createElement("ValidationMax");O.textContent=o.ValidationMax;n.appendChild(O);const T=t.createElement("Mask");T.textContent=o.Mask;n.appendChild(T);i.appendChild(n)}));t.appendChild(i);const r=new XMLSerializer;return r.serializeToString(t)}catch(e){throw new Error(`JSON to XML conversion failed: ${e.message}`)}}static mapControlTypeToJsonType(e){switch(e.toLowerCase()){case"textbox":case"text":return"string";case"datepicker":return"date";case"thesauruspicker":case"thesauruspicker-ddl":case"termpicker":return"select";case"dbpicker":return"dbpicker";case"header":return"header";case"checkbox":return"boolean";case"realpicker":return"number";default:return"string"}}}const u="ocr-file-uploader";const h={hotModuleReplacement:false,hydratedSelectorName:"hydrated",lazyLoad:true,propChangeCallback:false,updatable:true};var d=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var b=Object.getPrototypeOf;var w=Object.prototype.hasOwnProperty;var g=e=>{throw TypeError(e)};var y=(e,t,i)=>t in e?p(e,t,{enumerable:true,configurable:true,writable:true,value:i}):e[t]=i;var x=(e,t)=>function i(){return t||(0,e[m(e)[0]])((t={exports:{}}).exports,t),t.exports};var k=(e,t)=>{for(var i in t)p(e,i,{get:t[i],enumerable:true})};var $=(e,t,i,r)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let s of m(t))if(!w.call(e,s)&&s!==i)p(e,s,{get:()=>t[s],enumerable:!(r=v(t,s))||r.enumerable})}return e};var S=(e,t,i)=>(i=e!=null?d(b(e)):{},$(p(i,"default",{value:e,enumerable:true}),e));var C=(e,t,i)=>y(e,t+"",i);var O=(e,t,i)=>t.has(e)||g("Cannot "+i);var T=(e,t,i)=>(O(e,t,"read from private field"),i?i.call(e):t.get(e));var M=(e,t,i)=>t.has(e)?g("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i);var j=(e,t,i,r)=>(O(e,t,"write to private field"),t.set(e,i),i);var E=(e,t,i)=>(O(e,t,"access private method"),i);var F=x({"node_modules/balanced-match/index.js"(e,t){t.exports=i;function i(e,t,i){if(e instanceof RegExp)e=r(e,i);if(t instanceof RegExp)t=r(t,i);var n=s(e,t,i);return n&&{start:n[0],end:n[1],pre:i.slice(0,n[0]),body:i.slice(n[0]+e.length,n[1]),post:i.slice(n[1]+t.length)}}function r(e,t){var i=t.match(e);return i?i[0]:null}i.range=s;function s(e,t,i){var r,s,n,o,a;var l=i.indexOf(e);var c=i.indexOf(t,l+1);var f=l;if(l>=0&&c>0){if(e===t){return[l,c]}r=[];n=i.length;while(f>=0&&!a){if(f==l){r.push(f);l=i.indexOf(e,f+1)}else if(r.length==1){a=[r.pop(),c]}else{s=r.pop();if(s<n){n=s;o=c}c=i.indexOf(t,f+1)}f=l<c&&l>=0?l:c}if(r.length){a=[n,o]}}return a}}});var P=x({"node_modules/brace-expansion/index.js"(e,t){var i=F();t.exports=h;var r="\0SLASH"+Math.random()+"\0";var s="\0OPEN"+Math.random()+"\0";var n="\0CLOSE"+Math.random()+"\0";var o="\0COMMA"+Math.random()+"\0";var a="\0PERIOD"+Math.random()+"\0";function l(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function c(e){return e.split("\\\\").join(r).split("\\{").join(s).split("\\}").join(n).split("\\,").join(o).split("\\.").join(a)}function f(e){return e.split(r).join("\\").split(s).join("{").split(n).join("}").split(o).join(",").split(a).join(".")}function u(e){if(!e)return[""];var t=[];var r=i("{","}",e);if(!r)return e.split(",");var s=r.pre;var n=r.body;var o=r.post;var a=s.split(",");a[a.length-1]+="{"+n+"}";var l=u(o);if(o.length){a[a.length-1]+=l.shift();a.push.apply(a,l)}t.push.apply(t,a);return t}function h(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return b(c(e),true).map(f)}function d(e){return"{"+e+"}"}function p(e){return/^-?0\d/.test(e)}function v(e,t){return e<=t}function m(e,t){return e>=t}function b(e,t){var r=[];var s=i("{","}",e);if(!s)return[e];var o=s.pre;var a=s.post.length?b(s.post,false):[""];if(/\$$/.test(s.pre)){for(var c=0;c<a.length;c++){var f=o+"{"+s.body+"}"+a[c];r.push(f)}}else{var h=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body);var w=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body);var g=h||w;var y=s.body.indexOf(",")>=0;if(!g&&!y){if(s.post.match(/,(?!,).*\}/)){e=s.pre+"{"+s.body+n+s.post;return b(e)}return[e]}var x;if(g){x=s.body.split(/\.\./)}else{x=u(s.body);if(x.length===1){x=b(x[0],false).map(d);if(x.length===1){return a.map((function(e){return s.pre+x[0]+e}))}}}var k;if(g){var $=l(x[0]);var S=l(x[1]);var C=Math.max(x[0].length,x[1].length);var O=x.length==3?Math.abs(l(x[2])):1;var T=v;var M=S<$;if(M){O*=-1;T=m}var j=x.some(p);k=[];for(var E=$;T(E,S);E+=O){var F;if(w){F=String.fromCharCode(E);if(F==="\\")F=""}else{F=String(E);if(j){var P=C-F.length;if(P>0){var I=new Array(P+1).join("0");if(E<0)F="-"+I+F.slice(1);else F=I+F}}}k.push(F)}}else{k=[];for(var L=0;L<x.length;L++){k.push.apply(k,b(x[L],false))}}for(var L=0;L<k.length;L++){for(var c=0;c<a.length;c++){var f=o+k[L]+a[c];if(!t||g||f)r.push(f)}}}return r}}});var I="http://www.w3.org/2000/svg";var L="http://www.w3.org/1999/xhtml";var R=e=>{if(e.__stencil__getHostRef){return e.__stencil__getHostRef()}return void 0};var N=(e,t)=>{const i={t:0,$hostElement$:e,i:t,o:new Map,l:new Map};{i.u=new Promise((e=>i.h=e));e["s-p"]=[];e["s-rc"]=[]}{i.p=[]}const r=i;e.__stencil__getHostRef=()=>r;return r};var D=(e,t)=>t in e;var _=(e,t)=>(0,console.error)(e,t);var A=new Map;var z=(e,t,i)=>{const r=e.v.replace(/-/g,"_");const s=e.m;if(!s){return void 0}const n=A.get(s);if(n){return n[r]}
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${s}.entry.js${""}`).then((e=>{{A.set(s,e)}return e[r]}),(e=>{_(e,t.$hostElement$)}))};var J=new Map;var V="{visibility:hidden}.hydrated{visibility:inherit}";var q="slot-fb{display:contents}slot-fb[hidden]{display:none}";var H=typeof window!=="undefined"?window:{};var Y={t:0,k:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,i,r)=>e.addEventListener(t,i,r),rel:(e,t,i,r)=>e.removeEventListener(t,i,r),ce:(e,t)=>new CustomEvent(e,t)};var U=e=>Promise.resolve(e);var W=(()=>{try{if(!H.document.adoptedStyleSheets){return false}new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var X=W?(()=>!!H.document&&Object.getOwnPropertyDescriptor(H.document.adoptedStyleSheets,"length").writable)():false;var B=false;var K=[];var Z=[];var G=(e,t)=>t=>{e.push(t);if(!B){B=true;if(Y.t&4){te(ee)}else{Y.raf(ee)}}};var Q=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){_(e)}}e.length=0};var ee=()=>{Q(K);{Q(Z);if(B=K.length>0){Y.raf(ee)}}};var te=e=>U().then(e);var ie=G(Z);var re=e=>{e=typeof e;return e==="object"||e==="function"};var se=S(P());var ne=1024*64;var oe=e=>{if(typeof e!=="string"){throw new TypeError("invalid pattern")}if(e.length>ne){throw new TypeError("pattern is too long")}};var ae={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",true],"[:alpha:]":["\\p{L}\\p{Nl}",true],"[:ascii:]":["\\x00-\\x7f",false],"[:blank:]":["\\p{Zs}\\t",true],"[:cntrl:]":["\\p{Cc}",true],"[:digit:]":["\\p{Nd}",true],"[:graph:]":["\\p{Z}\\p{C}",true,true],"[:lower:]":["\\p{Ll}",true],"[:print:]":["\\p{C}",true],"[:punct:]":["\\p{P}",true],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",true],"[:upper:]":["\\p{Lu}",true],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",true],"[:xdigit:]":["A-Fa-f0-9",false]};var le=e=>e.replace(/[[\]\\-]/g,"\\$&");var ce=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");var fe=e=>e.join("");var ue=(e,t)=>{const i=t;if(e.charAt(i)!=="["){throw new Error("not in a brace expression")}const r=[];const s=[];let n=i+1;let o=false;let a=false;let l=false;let c=false;let f=i;let u="";e:while(n<e.length){const t=e.charAt(n);if((t==="!"||t==="^")&&n===i+1){c=true;n++;continue}if(t==="]"&&o&&!l){f=n+1;break}o=true;if(t==="\\"){if(!l){l=true;n++;continue}}if(t==="["&&!l){for(const[t,[o,l,c]]of Object.entries(ae)){if(e.startsWith(t,n)){if(u){return["$.",false,e.length-i,true]}n+=t.length;if(c)s.push(o);else r.push(o);a=a||l;continue e}}}l=false;if(u){if(t>u){r.push(le(u)+"-"+le(t))}else if(t===u){r.push(le(t))}u="";n++;continue}if(e.startsWith("-]",n+1)){r.push(le(t+"-"));n+=2;continue}if(e.startsWith("-",n+1)){u=t;n+=2;continue}r.push(le(t));n++}if(f<n){return["",false,0,false]}if(!r.length&&!s.length){return["$.",false,e.length-i,true]}if(s.length===0&&r.length===1&&/^\\?.$/.test(r[0])&&!c){const e=r[0].length===2?r[0].slice(-1):r[0];return[ce(e),false,f-i,false]}const h="["+(c?"^":"")+fe(r)+"]";const d="["+(c?"":"^")+fe(s)+"]";const p=r.length&&s.length?"("+h+"|"+d+")":r.length?h:d;return[p,a,f-i,true]};var he=(e,{windowsPathsNoEscape:t=false}={})=>t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var de=new Set(["!","?","+","*","@"]);var pe=e=>de.has(e);var ve="(?!(?:^|/)\\.\\.?(?:$|/))";var me="(?!\\.)";var be=new Set(["[","."]);var we=new Set(["..","."]);var ge=new Set("().*{}+?[]^$\\!");var ye=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");var xe="[^/]";var ke=xe+"*?";var $e=xe+"+?";var Se,Ce,Oe,Te,Me,je,Ee,Fe,Pe,Ie,Le,Re,Ne,De,_e,Ae,ze;var Je=class e{constructor(e,t,i={}){M(this,Re);C(this,"type");M(this,Se);M(this,Ce);M(this,Oe,false);M(this,Te,[]);M(this,Me);M(this,je);M(this,Ee);M(this,Fe,false);M(this,Pe);M(this,Ie);M(this,Le,false);this.type=e;if(e)j(this,Ce,true);j(this,Me,t);j(this,Se,T(this,Me)?T(T(this,Me),Se):this);j(this,Pe,T(this,Se)===this?i:T(T(this,Se),Pe));j(this,Ee,T(this,Se)===this?[]:T(T(this,Se),Ee));if(e==="!"&&!T(T(this,Se),Fe))T(this,Ee).push(this);j(this,je,T(this,Me)?T(T(this,Me),Te).length:0)}get hasMagic(){if(T(this,Ce)!==void 0)return T(this,Ce);for(const e of T(this,Te)){if(typeof e==="string")continue;if(e.type||e.hasMagic)return j(this,Ce,true)}return T(this,Ce)}toString(){if(T(this,Ie)!==void 0)return T(this,Ie);if(!this.type){return j(this,Ie,T(this,Te).map((e=>String(e))).join(""))}else{return j(this,Ie,this.type+"("+T(this,Te).map((e=>String(e))).join("|")+")")}}push(...t){for(const i of t){if(i==="")continue;if(typeof i!=="string"&&!(i instanceof e&&T(i,Me)===this)){throw new Error("invalid part: "+i)}T(this,Te).push(i)}}toJSON(){var e;const t=this.type===null?T(this,Te).slice().map((e=>typeof e==="string"?e:e.toJSON())):[this.type,...T(this,Te).map((e=>e.toJSON()))];if(this.isStart()&&!this.type)t.unshift([]);if(this.isEnd()&&(this===T(this,Se)||T(T(this,Se),Fe)&&((e=T(this,Me))==null?void 0:e.type)==="!")){t.push({})}return t}isStart(){var t;if(T(this,Se)===this)return true;if(!((t=T(this,Me))==null?void 0:t.isStart()))return false;if(T(this,je)===0)return true;const i=T(this,Me);for(let t=0;t<T(this,je);t++){const r=T(i,Te)[t];if(!(r instanceof e&&r.type==="!")){return false}}return true}isEnd(){var e,t,i;if(T(this,Se)===this)return true;if(((e=T(this,Me))==null?void 0:e.type)==="!")return true;if(!((t=T(this,Me))==null?void 0:t.isEnd()))return false;if(!this.type)return(i=T(this,Me))==null?void 0:i.isEnd();const r=T(this,Me)?T(T(this,Me),Te).length:0;return T(this,je)===r-1}copyIn(e){if(typeof e==="string")this.push(e);else this.push(e.clone(this))}clone(t){const i=new e(this.type,t);for(const e of T(this,Te)){i.copyIn(e)}return i}static fromGlob(t,i={}){var r;const s=new e(null,void 0,i);E(r=e,De,_e).call(r,t,s,0,i);return s}toMMPattern(){if(this!==T(this,Se))return T(this,Se).toMMPattern();const e=this.toString();const[t,i,r,s]=this.toRegExpSource();const n=r||T(this,Ce)||T(this,Pe).nocase&&!T(this,Pe).nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase();if(!n){return i}const o=(T(this,Pe).nocase?"i":"")+(s?"u":"");return Object.assign(new RegExp(`^${t}$`,o),{_src:t,_glob:e})}get options(){return T(this,Pe)}toRegExpSource(t){var i;const r=t!=null?t:!!T(this,Pe).dot;if(T(this,Se)===this)E(this,Re,Ne).call(this);if(!this.type){const s=this.isStart()&&this.isEnd();const n=T(this,Te).map((i=>{var r;const[n,o,a,l]=typeof i==="string"?E(r=e,De,ze).call(r,i,T(this,Ce),s):i.toRegExpSource(t);j(this,Ce,T(this,Ce)||a);j(this,Oe,T(this,Oe)||l);return n})).join("");let o="";if(this.isStart()){if(typeof T(this,Te)[0]==="string"){const e=T(this,Te).length===1&&we.has(T(this,Te)[0]);if(!e){const e=be;const i=r&&e.has(n.charAt(0))||n.startsWith("\\.")&&e.has(n.charAt(2))||n.startsWith("\\.\\.")&&e.has(n.charAt(4));const s=!r&&!t&&e.has(n.charAt(0));o=i?ve:s?me:""}}}let a="";if(this.isEnd()&&T(T(this,Se),Fe)&&((i=T(this,Me))==null?void 0:i.type)==="!"){a="(?:$|\\/)"}const l=o+n+a;return[l,he(n),j(this,Ce,!!T(this,Ce)),T(this,Oe)]}const s=this.type==="*"||this.type==="+";const n=this.type==="!"?"(?:(?!(?:":"(?:";let o=E(this,Re,Ae).call(this,r);if(this.isStart()&&this.isEnd()&&!o&&this.type!=="!"){const e=this.toString();j(this,Te,[e]);this.type=null;j(this,Ce,void 0);return[e,he(this.toString()),false,false]}let a=!s||t||r||false?"":E(this,Re,Ae).call(this,true);if(a===o){a=""}if(a){o=`(?:${o})(?:${a})*?`}let l="";if(this.type==="!"&&T(this,Le)){l=(this.isStart()&&!r?me:"")+$e}else{const e=this.type==="!"?"))"+(this.isStart()&&!r&&!t?me:"")+ke+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&a?")":this.type==="*"&&a?`)?`:`)${this.type}`;l=n+o+e}return[l,he(o),j(this,Ce,!!T(this,Ce)),T(this,Oe)]}};Se=new WeakMap;Ce=new WeakMap;Oe=new WeakMap;Te=new WeakMap;Me=new WeakMap;je=new WeakMap;Ee=new WeakMap;Fe=new WeakMap;Pe=new WeakMap;Ie=new WeakMap;Le=new WeakMap;Re=new WeakSet;Ne=function(){if(this!==T(this,Se))throw new Error("should only call on root");if(T(this,Fe))return this;this.toString();j(this,Fe,true);let e;while(e=T(this,Ee).pop()){if(e.type!=="!")continue;let t=e;let i=T(t,Me);while(i){for(let r=T(t,je)+1;!i.type&&r<T(i,Te).length;r++){for(const t of T(e,Te)){if(typeof t==="string"){throw new Error("string part in extglob AST??")}t.copyIn(T(i,Te)[r])}}t=i;i=T(t,Me)}}return this};De=new WeakSet;_e=function(e,t,i,r){var s,n;let o=false;let a=false;let l=-1;let c=false;if(t.type===null){let n=i;let f="";while(n<e.length){const i=e.charAt(n++);if(o||i==="\\"){o=!o;f+=i;continue}if(a){if(n===l+1){if(i==="^"||i==="!"){c=true}}else if(i==="]"&&!(n===l+2&&c)){a=false}f+=i;continue}else if(i==="["){a=true;l=n;c=false;f+=i;continue}if(!r.noext&&pe(i)&&e.charAt(n)==="("){t.push(f);f="";const o=new Je(i,t);n=E(s=Je,De,_e).call(s,e,o,n,r);t.push(o);continue}f+=i}t.push(f);return n}let f=i+1;let u=new Je(null,t);const h=[];let d="";while(f<e.length){const i=e.charAt(f++);if(o||i==="\\"){o=!o;d+=i;continue}if(a){if(f===l+1){if(i==="^"||i==="!"){c=true}}else if(i==="]"&&!(f===l+2&&c)){a=false}d+=i;continue}else if(i==="["){a=true;l=f;c=false;d+=i;continue}if(pe(i)&&e.charAt(f)==="("){u.push(d);d="";const t=new Je(i,u);u.push(t);f=E(n=Je,De,_e).call(n,e,t,f,r);continue}if(i==="|"){u.push(d);d="";h.push(u);u=new Je(null,t);continue}if(i===")"){if(d===""&&T(t,Te).length===0){j(t,Le,true)}u.push(d);d="";t.push(...h,u);return f}d+=i}t.type=null;j(t,Ce,void 0);j(t,Te,[e.substring(i-1)]);return f};Ae=function(e){return T(this,Te).map((t=>{if(typeof t==="string"){throw new Error("string type in extglob ast??")}const[i,r,s,n]=t.toRegExpSource(e);j(this,Oe,T(this,Oe)||n);return i})).filter((e=>!(this.isStart()&&this.isEnd())||!!e)).join("|")};ze=function(e,t,i=false){let r=false;let s="";let n=false;for(let o=0;o<e.length;o++){const a=e.charAt(o);if(r){r=false;s+=(ge.has(a)?"\\":"")+a;continue}if(a==="\\"){if(o===e.length-1){s+="\\\\"}else{r=true}continue}if(a==="["){const[i,r,a,l]=ue(e,o);if(a){s+=i;n=n||r;o+=a-1;t=t||l;continue}}if(a==="*"){if(i&&e==="*")s+=$e;else s+=ke;t=true;continue}if(a==="?"){s+=xe;t=true;continue}s+=ye(a)}return[s,he(e),!!t,n]};M(Je,De);var Ve=Je;var qe=(e,{windowsPathsNoEscape:t=false}={})=>t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");var He=(e,t,i={})=>{oe(t);if(!i.nocomment&&t.charAt(0)==="#"){return false}return new Tt(t,i).match(e)};var Ye=/^\*+([^+@!?\*\[\(]*)$/;var Ue=e=>t=>!t.startsWith(".")&&t.endsWith(e);var We=e=>t=>t.endsWith(e);var Xe=e=>{e=e.toLowerCase();return t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)};var Be=e=>{e=e.toLowerCase();return t=>t.toLowerCase().endsWith(e)};var Ke=/^\*+\.\*+$/;var Ze=e=>!e.startsWith(".")&&e.includes(".");var Ge=e=>e!=="."&&e!==".."&&e.includes(".");var Qe=/^\.\*+$/;var et=e=>e!=="."&&e!==".."&&e.startsWith(".");var tt=/^\*+$/;var it=e=>e.length!==0&&!e.startsWith(".");var rt=e=>e.length!==0&&e!=="."&&e!=="..";var st=/^\?+([^+@!?\*\[\(]*)?$/;var nt=([e,t=""])=>{const i=ct([e]);if(!t)return i;t=t.toLowerCase();return e=>i(e)&&e.toLowerCase().endsWith(t)};var ot=([e,t=""])=>{const i=ft([e]);if(!t)return i;t=t.toLowerCase();return e=>i(e)&&e.toLowerCase().endsWith(t)};var at=([e,t=""])=>{const i=ft([e]);return!t?i:e=>i(e)&&e.endsWith(t)};var lt=([e,t=""])=>{const i=ct([e]);return!t?i:e=>i(e)&&e.endsWith(t)};var ct=([e])=>{const t=e.length;return e=>e.length===t&&!e.startsWith(".")};var ft=([e])=>{const t=e.length;return e=>e.length===t&&e!=="."&&e!==".."};var ut=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix";var ht={win32:{sep:"\\"},posix:{sep:"/"}};var dt=ut==="win32"?ht.win32.sep:ht.posix.sep;He.sep=dt;var pt=Symbol("globstar **");He.GLOBSTAR=pt;var vt="[^/]";var mt=vt+"*?";var bt="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var wt="(?:(?!(?:\\/|^)\\.).)*?";var gt=(e,t={})=>i=>He(i,e,t);He.filter=gt;var yt=(e,t={})=>Object.assign({},e,t);var xt=e=>{if(!e||typeof e!=="object"||!Object.keys(e).length){return He}const t=He;const i=(i,r,s={})=>t(i,r,yt(e,s));return Object.assign(i,{Minimatch:class i extends t.Minimatch{constructor(t,i={}){super(t,yt(e,i))}static defaults(i){return t.defaults(yt(e,i)).Minimatch}},AST:class i extends t.AST{constructor(t,i,r={}){super(t,i,yt(e,r))}static fromGlob(i,r={}){return t.AST.fromGlob(i,yt(e,r))}},unescape:(i,r={})=>t.unescape(i,yt(e,r)),escape:(i,r={})=>t.escape(i,yt(e,r)),filter:(i,r={})=>t.filter(i,yt(e,r)),defaults:i=>t.defaults(yt(e,i)),makeRe:(i,r={})=>t.makeRe(i,yt(e,r)),braceExpand:(i,r={})=>t.braceExpand(i,yt(e,r)),match:(i,r,s={})=>t.match(i,r,yt(e,s)),sep:t.sep,GLOBSTAR:pt})};He.defaults=xt;var kt=(e,t={})=>{oe(e);if(t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)){return[e]}return(0,se.default)(e)};He.braceExpand=kt;var $t=(e,t={})=>new Tt(e,t).makeRe();He.makeRe=$t;var St=(e,t,i={})=>{const r=new Tt(t,i);e=e.filter((e=>r.match(e)));if(r.options.nonull&&!e.length){e.push(t)}return e};He.match=St;var Ct=/[?*]|[+@!]\(.*?\)|\[|\]/;var Ot=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");var Tt=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){oe(e);t=t||{};this.options=t;this.pattern=e;this.platform=t.platform||ut;this.isWindows=this.platform==="win32";this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===false;if(this.windowsPathsNoEscape){this.pattern=this.pattern.replace(/\\/g,"/")}this.preserveMultipleSlashes=!!t.preserveMultipleSlashes;this.regexp=null;this.negate=false;this.nonegate=!!t.nonegate;this.comment=false;this.empty=false;this.partial=!!t.partial;this.nocase=!!this.options.nocase;this.windowsNoMagicRoot=t.windowsNoMagicRoot!==void 0?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase);this.globSet=[];this.globParts=[];this.set=[];this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1){return true}for(const e of this.set){for(const t of e){if(typeof t!=="string")return true}}return false}debug(...e){}make(){const e=this.pattern;const t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();this.globSet=[...new Set(this.braceExpand())];if(t.debug){this.debug=(...e)=>console.error(...e)}this.debug(this.pattern,this.globSet);const i=this.globSet.map((e=>this.slashSplit(e)));this.globParts=this.preprocess(i);this.debug(this.pattern,this.globParts);let r=this.globParts.map(((e,t,i)=>{if(this.isWindows&&this.windowsNoMagicRoot){const t=e[0]===""&&e[1]===""&&(e[2]==="?"||!Ct.test(e[2]))&&!Ct.test(e[3]);const i=/^[a-z]:/i.test(e[0]);if(t){return[...e.slice(0,4),...e.slice(4).map((e=>this.parse(e)))]}else if(i){return[e[0],...e.slice(1).map((e=>this.parse(e)))]}}return e.map((e=>this.parse(e)))}));this.debug(this.pattern,r);this.set=r.filter((e=>e.indexOf(false)===-1));if(this.isWindows){for(let e=0;e<this.set.length;e++){const t=this.set[e];if(t[0]===""&&t[1]===""&&this.globParts[e][2]==="?"&&typeof t[3]==="string"&&/^[a-z]:$/i.test(t[3])){t[2]="?"}}}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar){for(let t=0;t<e.length;t++){for(let i=0;i<e[t].length;i++){if(e[t][i]==="**"){e[t][i]="*"}}}}const{optimizationLevel:t=1}=this.options;if(t>=2){e=this.firstPhasePreProcess(e);e=this.secondPhasePreProcess(e)}else if(t>=1){e=this.levelOneOptimize(e)}else{e=this.adjascentGlobstarOptimize(e)}return e}adjascentGlobstarOptimize(e){return e.map((e=>{let t=-1;while(-1!==(t=e.indexOf("**",t+1))){let i=t;while(e[i+1]==="**"){i++}if(i!==t){e.splice(t,i-t)}}return e}))}levelOneOptimize(e){return e.map((e=>{e=e.reduce(((e,t)=>{const i=e[e.length-1];if(t==="**"&&i==="**"){return e}if(t===".."){if(i&&i!==".."&&i!=="."&&i!=="**"){e.pop();return e}}e.push(t);return e}),[]);return e.length===0?[""]:e}))}levelTwoFileOptimize(e){if(!Array.isArray(e)){e=this.slashSplit(e)}let t=false;do{t=false;if(!this.preserveMultipleSlashes){for(let i=1;i<e.length-1;i++){const r=e[i];if(i===1&&r===""&&e[0]==="")continue;if(r==="."||r===""){t=true;e.splice(i,1);i--}}if(e[0]==="."&&e.length===2&&(e[1]==="."||e[1]==="")){t=true;e.pop()}}let i=0;while(-1!==(i=e.indexOf("..",i+1))){const r=e[i-1];if(r&&r!=="."&&r!==".."&&r!=="**"){t=true;e.splice(i-1,2);i-=2}}}while(t);return e.length===0?[""]:e}firstPhasePreProcess(e){let t=false;do{t=false;for(let i of e){let r=-1;while(-1!==(r=i.indexOf("**",r+1))){let s=r;while(i[s+1]==="**"){s++}if(s>r){i.splice(r+1,s-r)}let n=i[r+1];const o=i[r+2];const a=i[r+3];if(n!=="..")continue;if(!o||o==="."||o===".."||!a||a==="."||a===".."){continue}t=true;i.splice(r,1);const l=i.slice(0);l[r]="**";e.push(l);r--}if(!this.preserveMultipleSlashes){for(let e=1;e<i.length-1;e++){const r=i[e];if(e===1&&r===""&&i[0]==="")continue;if(r==="."||r===""){t=true;i.splice(e,1);e--}}if(i[0]==="."&&i.length===2&&(i[1]==="."||i[1]==="")){t=true;i.pop()}}let s=0;while(-1!==(s=i.indexOf("..",s+1))){const e=i[s-1];if(e&&e!=="."&&e!==".."&&e!=="**"){t=true;const e=s===1&&i[s+1]==="**";const r=e?["."]:[];i.splice(s-1,2,...r);if(i.length===0)i.push("");s-=2}}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++){for(let i=t+1;i<e.length;i++){const r=this.partsMatch(e[t],e[i],!this.preserveMultipleSlashes);if(!r)continue;e[t]=r;e[i]=[]}}return e.filter((e=>e.length))}partsMatch(e,t,i=false){let r=0;let s=0;let n=[];let o="";while(r<e.length&&s<t.length){if(e[r]===t[s]){n.push(o==="b"?t[s]:e[r]);r++;s++}else if(i&&e[r]==="**"&&t[s]===e[r+1]){n.push(e[r]);r++}else if(i&&t[s]==="**"&&e[r]===t[s+1]){n.push(t[s]);s++}else if(e[r]==="*"&&t[s]&&(this.options.dot||!t[s].startsWith("."))&&t[s]!=="**"){if(o==="b")return false;o="a";n.push(e[r]);r++;s++}else if(t[s]==="*"&&e[r]&&(this.options.dot||!e[r].startsWith("."))&&e[r]!=="**"){if(o==="a")return false;o="b";n.push(t[s]);r++;s++}else{return false}}return e.length===t.length&&n}parseNegate(){if(this.nonegate)return;const e=this.pattern;let t=false;let i=0;for(let r=0;r<e.length&&e.charAt(r)==="!";r++){t=!t;i++}if(i)this.pattern=e.slice(i);this.negate=t}matchOne(e,t,i=false){const r=this.options;if(this.isWindows){const i=typeof e[0]==="string"&&/^[a-z]:$/i.test(e[0]);const r=!i&&e[0]===""&&e[1]===""&&e[2]==="?"&&/^[a-z]:$/i.test(e[3]);const s=typeof t[0]==="string"&&/^[a-z]:$/i.test(t[0]);const n=!s&&t[0]===""&&t[1]===""&&t[2]==="?"&&typeof t[3]==="string"&&/^[a-z]:$/i.test(t[3]);const o=r?3:i?0:void 0;const a=n?3:s?0:void 0;if(typeof o==="number"&&typeof a==="number"){const[i,r]=[e[o],t[a]];if(i.toLowerCase()===r.toLowerCase()){t[a]=i;if(a>o){t=t.slice(a)}else if(o>a){e=e.slice(o)}}}}const{optimizationLevel:s=1}=this.options;if(s>=2){e=this.levelTwoFileOptimize(e)}this.debug("matchOne",this,{file:e,pattern:t});this.debug("matchOne",e.length,t.length);for(var n=0,o=0,a=e.length,l=t.length;n<a&&o<l;n++,o++){this.debug("matchOne loop");var c=t[o];var f=e[n];this.debug(t,c,f);if(c===false){return false}if(c===pt){this.debug("GLOBSTAR",[t,c,f]);var u=n;var h=o+1;if(h===l){this.debug("** at the end");for(;n<a;n++){if(e[n]==="."||e[n]===".."||!r.dot&&e[n].charAt(0)===".")return false}return true}while(u<a){var d=e[u];this.debug("\nglobstar while",e,u,t,h,d);if(this.matchOne(e.slice(u),t.slice(h),i)){this.debug("globstar found match!",u,a,d);return true}else{if(d==="."||d===".."||!r.dot&&d.charAt(0)==="."){this.debug("dot detected!",e,u,t,h);break}this.debug("globstar swallow a segment, and continue");u++}}if(i){this.debug("\n>>> no match, partial?",e,u,t,h);if(u===a){return true}}return false}let s;if(typeof c==="string"){s=f===c;this.debug("string match",c,f,s)}else{s=c.test(f);this.debug("pattern match",c,f,s)}if(!s)return false}if(n===a&&o===l){return true}else if(n===a){return i}else if(o===l){return n===a-1&&e[n]===""}else{throw new Error("wtf?")}}braceExpand(){return kt(this.pattern,this.options)}parse(e){oe(e);const t=this.options;if(e==="**")return pt;if(e==="")return"";let i;let r=null;if(i=e.match(tt)){r=t.dot?rt:it}else if(i=e.match(Ye)){r=(t.nocase?t.dot?Be:Xe:t.dot?We:Ue)(i[1])}else if(i=e.match(st)){r=(t.nocase?t.dot?ot:nt:t.dot?at:lt)(i)}else if(i=e.match(Ke)){r=t.dot?Ge:Ze}else if(i=e.match(Qe)){r=et}const s=Ve.fromGlob(e,this.options).toMMPattern();if(r&&typeof s==="object"){Reflect.defineProperty(s,"test",{value:r})}return s}makeRe(){if(this.regexp||this.regexp===false)return this.regexp;const e=this.set;if(!e.length){this.regexp=false;return this.regexp}const t=this.options;const i=t.noglobstar?mt:t.dot?bt:wt;const r=new Set(t.nocase?["i"]:[]);let s=e.map((e=>{const t=e.map((e=>{if(e instanceof RegExp){for(const t of e.flags.split(""))r.add(t)}return typeof e==="string"?Ot(e):e===pt?pt:e._src}));t.forEach(((e,r)=>{const s=t[r+1];const n=t[r-1];if(e!==pt||n===pt){return}if(n===void 0){if(s!==void 0&&s!==pt){t[r+1]="(?:\\/|"+i+"\\/)?"+s}else{t[r]=i}}else if(s===void 0){t[r-1]=n+"(?:\\/|"+i+")?"}else if(s!==pt){t[r-1]=n+"(?:\\/|\\/"+i+"\\/)"+s;t[r+1]=pt}}));return t.filter((e=>e!==pt)).join("/")})).join("|");const[n,o]=e.length>1?["(?:",")"]:["",""];s="^"+n+s+o+"$";if(this.negate)s="^(?!"+s+").+$";try{this.regexp=new RegExp(s,[...r].join(""))}catch(e){this.regexp=false}return this.regexp}slashSplit(e){if(this.preserveMultipleSlashes){return e.split("/")}else if(this.isWindows&&/^\/\/[^\/]+/.test(e)){return["",...e.split(/\/+/)]}else{return e.split(/\/+/)}}match(e,t=this.partial){this.debug("match",e,this.pattern);if(this.comment){return false}if(this.empty){return e===""}if(e==="/"&&t){return true}const i=this.options;if(this.isWindows){e=e.split("\\").join("/")}const r=this.slashSplit(e);this.debug(this.pattern,"split",r);const s=this.set;this.debug(this.pattern,"set",s);let n=r[r.length-1];if(!n){for(let e=r.length-2;!n&&e>=0;e--){n=r[e]}}for(let e=0;e<s.length;e++){const o=s[e];let a=r;if(i.matchBase&&o.length===1){a=[n]}const l=this.matchOne(a,o,t);if(l){if(i.flipNegate){return true}return!this.negate}}if(i.flipNegate){return false}return this.negate}static defaults(e){return He.defaults(e).Minimatch}};He.AST=Ve;He.Minimatch=Tt;He.escape=qe;He.unescape=he;function Mt(e){var t,i,r;return(r=(i=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:i.getAttribute("content"))!=null?r:void 0}var jt=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");var Et={};k(Et,{err:()=>Pt,map:()=>It,ok:()=>Ft,unwrap:()=>Lt,unwrapErr:()=>Rt});var Ft=e=>({isOk:true,isErr:false,value:e});var Pt=e=>({isOk:false,isErr:true,value:e});function It(e,t){if(e.isOk){const i=t(e.value);if(i instanceof Promise){return i.then((e=>Ft(e)))}else{return Ft(i)}}if(e.isErr){const t=e.value;return Pt(t)}throw"should never get here"}var Lt=e=>{if(e.isOk){return e.value}else{throw e.value}};var Rt=e=>{if(e.isErr){return e.value}else{throw e.value}};function Nt(e){return void 0}var Dt;function _t(e){var t;const i={mode:"open"};const r=this.attachShadow(i);if(Dt===void 0)Dt=(t=Nt())!=null?t:null;if(Dt){if(X){r.adoptedStyleSheets.push(Dt)}else{r.adoptedStyleSheets=[...r.adoptedStyleSheets,Dt]}}}var At=(e,t="")=>{{return()=>{}}};var zt=(e,t)=>{{return()=>{}}};var Jt=new WeakMap;var Vt=(e,t,i)=>{let r=J.get(e);if(W&&i){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}J.set(e,r)};var qt=(e,t,i)=>{var r,s,n;const o=Yt(t);const a=J.get(o);if(!H.document){return o}e=e.nodeType===11?e:H.document;if(a){if(typeof a==="string"){e=e.head||e;let i=Jt.get(e);let n;if(!i){Jt.set(e,i=new Set)}if(!i.has(o)){n=H.document.createElement("style");n.innerHTML=a;const l=(r=Y.$)!=null?r:Mt(H.document);if(l!=null){n.setAttribute("nonce",l)}if(!(t.t&1)){if(e.nodeName==="HEAD"){const t=e.querySelectorAll("link[rel=preconnect]");const i=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(n,(i==null?void 0:i.parentNode)===e?i:null)}else if("host"in e){if(W){const t=(s=e.defaultView)!=null?s:e.ownerDocument.defaultView;const i=new t.CSSStyleSheet;i.replaceSync(a);if(X){e.adoptedStyleSheets.unshift(i)}else{e.adoptedStyleSheets=[i,...e.adoptedStyleSheets]}}else{const t=e.querySelector("style");if(t){t.innerHTML=a+t.innerHTML}else{e.prepend(n)}}}else{e.append(n)}}if(t.t&1){e.insertBefore(n,null)}if(t.t&4){n.innerHTML+=q}if(i){i.add(o)}}}else{let t=Jt.get(e);if(!t){Jt.set(e,t=new Set)}if(!t.has(o)){const i=(n=e.defaultView)!=null?n:e.ownerDocument.defaultView;let r;if(a.constructor===i.CSSStyleSheet){r=a}else{r=new i.CSSStyleSheet;for(let e=0;e<a.cssRules.length;e++){r.insertRule(a.cssRules[e].cssText,e)}}if(X){e.adoptedStyleSheets.push(r)}else{e.adoptedStyleSheets=[...e.adoptedStyleSheets,r]}t.add(o)}}}return o};var Ht=e=>{const t=e.i;const i=e.$hostElement$;const r=t.t;const s=At("attachStyles",t.v);const n=qt(i.shadowRoot?i.shadowRoot:i.getRootNode(),t);if(r&10){i["s-sc"]=n;i.classList.add(n+"-h")}s()};var Yt=(e,t)=>"sc-"+e.v;var Ut=(e,t,...i)=>{let r=null;let s=null;let n=false;let o=false;const a=[];const l=e=>{for(let t=0;t<e.length;t++){r=e[t];if(Array.isArray(r)){l(r)}else if(r!=null&&typeof r!=="boolean"){if(n=!re(r)){r=String(r)}if(n&&o){a[a.length-1].S+=r}else{a.push(n?Wt(null,r):r)}o=n}}};l(i);const c=Wt(e,null);c.C=t;if(a.length>0){c.O=a}{c.T=s}return c};var Wt=(e,t)=>{const i={t:0,M:e,S:t,j:null,O:null};{i.C=null}{i.T=null}return i};var Xt={};var Bt=e=>e&&e.M===Xt;var Kt=e=>{const t=jt(e);return new RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,"g")};Kt("::slotted");Kt(":host");Kt(":host-context");var Zt=(e,t,i)=>{if(e!=null&&!re(e)){if(t&4){{return e==="false"?false:e===""||!!e}}if(t&1){return String(e)}return e}return e};var Gt=(e,t,i)=>{const r=Y.ce(t,i);e.dispatchEvent(r);return r};var Qt=(e,t,i,r,s,n,o)=>{if(i===r){return}let a=D(e,t);let l=t.toLowerCase();if(t==="class"){const t=e.classList;const s=ti(i);let n=ti(r);{t.remove(...s.filter((e=>e&&!n.includes(e))));t.add(...n.filter((e=>e&&!s.includes(e))))}}else if(t==="style"){{for(const t in i){if(!r||r[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in r){if(!i||r[t]!==i[t]){if(t.includes("-")){e.style.setProperty(t,r[t])}else{e.style[t]=r[t]}}}}else if(t==="key");else if(t==="ref"){if(r){r(e)}}else if(!a&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(D(H,l)){t=l.slice(2)}else{t=l[2]+t.slice(3)}if(i||r){const s=t.endsWith(ii);t=t.replace(ri,"");if(i){Y.rel(e,t,i,s)}if(r){Y.ael(e,t,r,s)}}}else{const o=re(r);if((a||o&&r!==null)&&!s){try{if(!e.tagName.includes("-")){const s=r==null?"":r;if(t==="list"){a=false}else if(i==null||e[t]!=s){if(typeof e.__lookupSetter__(t)==="function"){e[t]=s}else{e.setAttribute(t,s)}}}else if(e[t]!==r){e[t]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){{e.removeAttribute(t)}}}else if((!a||n&4||s)&&!o&&e.nodeType===1){r=r===true?"":r;{e.setAttribute(t,r)}}}};var ei=/\s/;var ti=e=>{if(typeof e==="object"&&e&&"baseVal"in e){e=e.baseVal}if(!e||typeof e!=="string"){return[]}return e.split(ei)};var ii="Capture";var ri=new RegExp(ii+"$");var si=(e,t,i,r)=>{const s=t.j.nodeType===11&&t.j.host?t.j.host:t.j;const n=e&&e.C||{};const o=t.C||{};{for(const e of ni(Object.keys(n))){if(!(e in o)){Qt(s,e,n[e],void 0,i,t.t)}}}for(const e of ni(Object.keys(o))){Qt(s,e,n[e],o[e],i,t.t)}};function ni(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var oi;var ai=false;var li=(e,t,i)=>{const r=t.O[i];let s=0;let n;let o;{if(!ai){ai=r.M==="svg"}if(!H.document){throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.")}n=r.j=H.document.createElementNS(ai?I:L,r.M);if(ai&&r.M==="foreignObject"){ai=false}{si(null,r,ai)}if(r.O){const t=r.M==="template"?n.content:n;for(s=0;s<r.O.length;++s){o=li(e,r,s);if(o){t.appendChild(o)}}}{if(r.M==="svg"){ai=false}else if(n.tagName==="foreignObject"){ai=true}}}n["s-hn"]=oi;return n};var ci=(e,t,i,r,s,n)=>{let o=e;let a;if(o.shadowRoot&&o.tagName===oi){o=o.shadowRoot}if(i.M==="template"){o=o.content}for(;s<=n;++s){if(r[s]){a=li(null,i,s);if(a){r[s].j=a;vi(o,a,t)}}}};var fi=(e,t,i)=>{for(let r=t;r<=i;++r){const t=e[r];if(t){const e=t.j;pi(t);if(e){e.remove()}}}};var ui=(e,t,i,r,s=false)=>{let n=0;let o=0;let a=0;let l=0;let c=t.length-1;let f=t[0];let u=t[c];let h=r.length-1;let d=r[0];let p=r[h];let v;let m;const b=i.M==="template"?e.content:e;while(n<=c&&o<=h){if(f==null){f=t[++n]}else if(u==null){u=t[--c]}else if(d==null){d=r[++o]}else if(p==null){p=r[--h]}else if(hi(f,d,s)){di(f,d,s);f=t[++n];d=r[++o]}else if(hi(u,p,s)){di(u,p,s);u=t[--c];p=r[--h]}else if(hi(f,p,s)){di(f,p,s);vi(b,f.j,u.j.nextSibling);f=t[++n];p=r[--h]}else if(hi(u,d,s)){di(u,d,s);vi(b,u.j,f.j);u=t[--c];d=r[++o]}else{a=-1;{for(l=n;l<=c;++l){if(t[l]&&t[l].T!==null&&t[l].T===d.T){a=l;break}}}if(a>=0){m=t[a];if(m.M!==d.M){v=li(t&&t[o],i,a)}else{di(m,d,s);t[a]=void 0;v=m.j}d=r[++o]}else{v=li(t&&t[o],i,o);d=r[++o]}if(v){{vi(f.j.parentNode,v,f.j)}}}}if(n>c){ci(e,r[h+1]==null?null:r[h+1].j,i,r,o,h)}else if(o>h){fi(t,n,c)}};var hi=(e,t,i=false)=>{if(e.M===t.M){if(!i){return e.T===t.T}if(i&&!e.T&&t.T){e.T=t.T}return true}return false};var di=(e,t,i=false)=>{const r=t.j=e.j;const s=e.O;const n=t.O;const o=t.M;{{ai=o==="svg"?true:o==="foreignObject"?false:ai}{si(e,t,ai)}if(s!==null&&n!==null){ui(r,s,t,n,i)}else if(n!==null){ci(r,null,t,n,0,n.length-1)}else if(!i&&h.updatable&&s!==null){fi(s,0,s.length-1)}else;if(ai&&o==="svg"){ai=false}}};var pi=e=>{{e.C&&e.C.ref&&e.C.ref(null);e.O&&e.O.map(pi)}};var vi=(e,t,i)=>{{return e==null?void 0:e.insertBefore(t,i)}};var mi=(e,t,i=false)=>{const r=e.$hostElement$;const s=e.F||Wt(null,null);const n=Bt(t);const o=n?t:Ut(null,null,t);oi=r.tagName;if(i&&o.C){for(const e of Object.keys(o.C)){if(r.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){o.C[e]=r[e]}}}o.M=null;o.t|=4;e.F=o;o.j=s.j=r.shadowRoot||r;di(s,o,i)};var bi=(e,t)=>{if(t&&!e.P&&t["s-p"]){const i=t["s-p"].push(new Promise((r=>e.P=()=>{t["s-p"].splice(i-1,1);r()})))}};var wi=(e,t)=>{{e.t|=16}if(e.t&4){e.t|=512;return}bi(e,e.I);const i=()=>gi(e,t);if(t){queueMicrotask((()=>{i()}));return}return ie(i)};var gi=(e,t)=>{const i=e.$hostElement$;const r=At("scheduleUpdate",e.i.v);const s=e.L;if(!s){throw new Error(`Can't render component <${i.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`)}let n;if(t){{if(e.p.length){e.p.forEach((e=>e(i)))}}n=Oi(s,"componentWillLoad",void 0,i)}else{n=Oi(s,"componentWillUpdate",void 0,i)}n=yi(n,(()=>Oi(s,"componentWillRender",void 0,i)));r();return yi(n,(()=>ki(e,s,t)))};var yi=(e,t)=>xi(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var xi=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var ki=async(e,t,i)=>{var r;const s=e.$hostElement$;const n=At("update",e.i.v);const o=s["s-rc"];if(i){Ht(e)}const a=At("render",e.i.v);{$i(e,t,s,i)}if(o){o.map((e=>e()));s["s-rc"]=void 0}a();n();{const t=(r=s["s-p"])!=null?r:[];const i=()=>Si(e);if(t.length===0){i()}else{Promise.all(t).then(i);e.t|=4;t.length=0}}};var $i=(e,t,i,r)=>{try{t=t.render();{e.t&=-17}{e.t|=2}{{{mi(e,t,r)}}}}catch(t){_(t,e.$hostElement$)}return null};var Si=e=>{const t=e.i.v;const i=e.$hostElement$;const r=At("postUpdate",t);const s=e.L;const n=e.I;Oi(s,"componentDidRender",void 0,i);if(!(e.t&64)){e.t|=64;{Ti(i)}Oi(s,"componentDidLoad",void 0,i);r();{e.h(i);if(!n){Ci()}}}else{Oi(s,"componentDidUpdate",void 0,i);r()}{if(e.P){e.P();e.P=void 0}if(e.t&512){te((()=>wi(e,false)))}e.t&=-517}};var Ci=e=>{te((()=>Gt(H,"appload",{detail:{namespace:u}})))};var Oi=(e,t,i,r)=>{if(e&&e[t]){try{return e[t](i)}catch(e){_(e,r)}}return void 0};var Ti=e=>{var t;return e.classList.add((t=h.hydratedSelectorName)!=null?t:"hydrated")};var Mi=(e,t)=>R(e).o.get(t);var ji=(e,t,i,r)=>{const s=R(e);if(!s){return}if(!s){throw new Error(`Couldn't find host element for "${r.v}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`)}const n=s.o.get(t);const o=s.t;const a=s.L;i=Zt(i,r.R[t][0]);const l=Number.isNaN(n)&&Number.isNaN(i);const c=i!==n&&!l;if((!(o&8)||n===void 0)&&c){s.o.set(t,i);if((o&(2|16))===2){if(a.componentShouldUpdate){if(a.componentShouldUpdate(i,n,t)===false){return}}wi(s,false)}}};var Ei=(e,t,i)=>{var r,s;const n=e.prototype;if(t.R||h.propChangeCallback){const o=Object.entries((r=t.R)!=null?r:{});o.map((([e,[r]])=>{if(r&31||i&2&&r&32){const{get:s,set:o}=Object.getOwnPropertyDescriptor(n,e)||{};if(s)t.R[e][0]|=2048;if(o)t.R[e][0]|=4096;if(i&1||!s){Object.defineProperty(n,e,{get(){{if((t.R[e][0]&2048)===0){return Mi(this,e)}const i=R(this);const r=i?i.L:n;if(!r)return;return r[e]}},configurable:true,enumerable:true})}Object.defineProperty(n,e,{set(s){const n=R(this);if(!n){return}if(o){const i=r&32?this[e]:n.$hostElement$[e];if(typeof i==="undefined"&&n.o.get(e)){s=n.o.get(e)}o.apply(this,[Zt(s,r)]);s=r&32?this[e]:n.$hostElement$[e];ji(this,e,s,t);return}{if((i&1)===0||(t.R[e][0]&4096)===0){ji(this,e,s,t);if(i&1&&!n.L){n.p.push((()=>{if(t.R[e][0]&4096&&n.L[e]!==n.o.get(e)){n.L[e]=s}}))}return}const o=()=>{const i=n.L[e];if(!n.o.get(e)&&i){n.o.set(e,i)}n.L[e]=Zt(s,r);ji(this,e,n.L[e],t)};if(n.L){o()}else{n.p.push((()=>{o()}))}}}})}}));if(i&1){const i=new Map;n.attributeChangedCallback=function(e,r,s){Y.jmp((()=>{var a;const l=i.get(e);const c=R(this);if(this.hasOwnProperty(l)&&h.lazyLoad){s=this[l];delete this[l]}if(n.hasOwnProperty(l)&&typeof this[l]==="number"&&this[l]==s){return}else if(l==null){const i=c==null?void 0:c.t;if(c&&i&&!(i&8)&&s!==r){const n=c.L;const o=(a=t.N)==null?void 0:a[e];o==null?void 0:o.forEach((t=>{const[[o,a]]=Object.entries(t);if(n[o]!=null&&(i&128||a&1)){n[o].call(n,s,r,e)}}))}return}const f=o.find((([e])=>e===l));if(f&&f[1][0]&4){s=s===null||s==="false"?false:true}const u=Object.getOwnPropertyDescriptor(n,l);if(s!=this[l]&&(!u.get||!!u.set)){this[l]=s}}))};e.observedAttributes=Array.from(new Set([...Object.keys((s=t.N)!=null?s:{}),...o.filter((([e,t])=>t[0]&31)).map((([e,t])=>{const r=t[1]||e;i.set(r,e);return r}))]))}}return e};var Fi=async(e,t,i,r)=>{let s;if((t.t&32)===0){t.t|=32;const r=i.m;if(r){const r=z(i,t);if(r&&"then"in r){const e=zt();s=await r;e()}else{s=r}if(!s){throw new Error(`Constructor for "${i.v}#${t.D}" was not found`)}if(!s.isProxied){Ei(s,i,2);s.isProxied=true}const n=At("createInstance",i.v);{t.t|=8}try{new s(t)}catch(t){_(t,e)}{t.t&=-9}n();Pi(t.L,e)}else{s=e.constructor;const i=e.localName;customElements.whenDefined(i).then((()=>t.t|=128))}if(s&&s.style){let e;if(typeof s.style==="string"){e=s.style}const t=Yt(i);if(!J.has(t)||h.hotModuleReplacement){const r=At("registerStyles",i.v);Vt(t,e,!!(i.t&1));r()}}}const n=t.I;const o=()=>wi(t,true);if(n&&n["s-rc"]){n["s-rc"].push(o)}else{o()}};var Pi=(e,t)=>{{Oi(e,"connectedCallback",void 0,t)}};var Ii=e=>{if((Y.t&1)===0){const t=R(e);if(!t){return}const i=t.i;const r=At("connectedCallback",i.v);if(!(t.t&1)){t.t|=1;{let i=e;while(i=i.parentNode||i.host){if(i["s-p"]){bi(t,t.I=i);break}}}if(i.R){Object.entries(i.R).map((([t,[i]])=>{if(i&31&&t in e&&e[t]!==Object.prototype[t]){const i=e[t];delete e[t];e[t]=i}}))}{Fi(e,t,i)}}else{if(t==null?void 0:t.L){Pi(t.L,e)}else if(t==null?void 0:t.u){t.u.then((()=>Pi(t.L,e)))}}r()}};var Li=(e,t)=>{{Oi(e,"disconnectedCallback",void 0,t||e)}};var Ri=async e=>{if((Y.t&1)===0){const t=R(e);if(t==null?void 0:t.L){Li(t.L,e)}else if(t==null?void 0:t.u){t.u.then((()=>Li(t.L,e)))}}if(Jt.has(e)){Jt.delete(e)}if(e.shadowRoot&&Jt.has(e.shadowRoot)){Jt.delete(e.shadowRoot)}};var Ni=(e,t={})=>{var i;if(!H.document){console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");return}const r=At();const s=[];const n=t.exclude||[];const o=H.customElements;const a=H.document.head;const l=a.querySelector("meta[charset]");const c=H.document.createElement("style");const f=[];let u;let h=true;Object.assign(Y,t);Y.k=new URL(t.resourcesUrl||"./",H.document.baseURI).href;let d=false;e.map((e=>{e[1].map((t=>{const i={t:t[0],v:t[1],R:t[2],_:t[3]};if(i.t&4){d=true}{i.R=t[2]}const r=Di(i.v);const a=class extends HTMLElement{constructor(e){super(e);this.hasRegisteredEventListeners=false;e=this;N(e,i);if(i.t&1){{if(!e.shadowRoot){_t.call(e,i)}else{if(e.shadowRoot.mode!=="open"){throw new Error(`Unable to re-use existing shadow root for ${i.v}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}}}}connectedCallback(){const e=R(this);if(!e){return}if(!this.hasRegisteredEventListeners){this.hasRegisteredEventListeners=true}if(u){clearTimeout(u);u=null}if(h){f.push(this)}else{Y.jmp((()=>Ii(this)))}}disconnectedCallback(){Y.jmp((()=>Ri(this)));Y.raf((()=>{var e;const t=R(this);if(!t){return}const i=f.findIndex((e=>e===this));if(i>-1){f.splice(i,1)}if(((e=t==null?void 0:t.F)==null?void 0:e.j)instanceof Node&&!t.F.j.isConnected){delete t.F.j}}))}componentOnReady(){var e;return(e=R(this))==null?void 0:e.u}};i.m=e[0];if(!n.includes(r)&&!o.get(r)){s.push(r);o.define(r,Ei(a,i,1))}}))}));if(s.length>0){if(d){c.textContent+=q}{c.textContent+=s.sort()+V}if(c.innerHTML.length){c.setAttribute("data-styles","");const e=(i=Y.$)!=null?i:Mt(H.document);if(e!=null){c.setAttribute("nonce",e)}a.insertBefore(c,l?l.nextSibling:a.firstChild)}}h=false;if(f.length){f.map((e=>e.connectedCallback()))}else{{Y.jmp((()=>u=setTimeout(Ci,30)))}}r()};function Di(e){return e}const _i=()=>{};const Ai=async(e,t)=>{if(typeof window==="undefined")return undefined;await _i();return Ni([["ocr-file-uploader",[[1,"ocr-file-uploader",{batch:[4],callback:[16],jsonSchema:[1,"json-schema"]}]]]],t)};(function(){if("undefined"!==typeof window&&void 0!==window.Reflect&&void 0!==window.customElements){var e=HTMLElement;window.HTMLElement=function(){return Reflect.construct(e,[],this.constructor)};HTMLElement.prototype=e.prototype;HTMLElement.prototype.constructor=HTMLElement;Object.setPrototypeOf(HTMLElement,e)}})();const zi=":host{display:block;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif}.row-audio-area{display:flex;flex-direction:row}.voice-recorder-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:0.5rem;background:#ffffff;max-width:100px;margin:0 auto}.voice-recorder-container-debug{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:0.5rem;background:#ffffff;max-width:800px;margin:0 auto}.upload-record-container{display:inline-block;cursor:pointer;width:50px;height:50px}.upload-record-button{display:flex;align-items:center;justify-content:center;transition:transform 0.2s ease, box-shadow 0.2s ease;user-select:none}.upload-record-button svg{width:50px;height:50px;stroke:#4444ee}.upload-record-button svg path{fill:#4444ee}.upload-record-button:hover svg{transform:scale(1.05);stroke:#4444ee}.record-button{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:none;border-radius:50%;background:#ee4444;color:white;cursor:pointer;transition:all 0.2s ease;position:relative;overflow:hidden}.record-button:hover:not(:disabled){background:#dd3333;transform:scale(1.05)}.record-button:disabled{opacity:0.6;cursor:not-allowed}.record-button.recording{background:#dd3333;animation:pulse 1.5s infinite}.record-button.processing{background:#3b82f6}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(239, 68, 68, 0.7)}70%{box-shadow:0 0 0 10px rgba(239, 68, 68, 0)}100%{box-shadow:0 0 0 0 rgba(239, 68, 68, 0)}}.record-icon{width:24px;height:24px;fill:currentColor}.status-text{font-size:0.875rem;color:#6b7280;text-align:center;min-height:1.25rem}.status-text.error{color:#ee4444}.status-text.success{color:#10b981}.debug-panel{width:100%;margin-top:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:0.375rem;font-family:'Monaco', 'Menlo', 'Ubuntu Mono', monospace;font-size:0.75rem}.debug-title{font-weight:600;margin-bottom:0.5rem;color:#374151}.debug-content{white-space:pre-wrap;word-break:break-word;color:#6b7280;max-height:200px;overflow-y:auto}.permissions-warning{padding:0.75rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:0.375rem;color:#92400e;font-size:0.875rem;text-align:center}.form-preview{width:100%;margin-top:1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0.375rem}.form-preview-title{font-weight:600;margin-bottom:0.5rem;color:#1e293b}.form-field{margin-bottom:0.5rem;font-size:0.875rem}.field-name{font-weight:500;color:#475569}.field-value{color:#64748b;margin-left:0.5rem}.field-value.filled{color:#059669;font-weight:500}.voice-filled-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.form-group{display:flex;flex-direction:column;gap:0.25rem}.form-label{font-weight:500;color:#374151;font-size:0.875rem}.required{color:#ee4444;margin-left:0.125rem}.form-input{padding:0.5rem;border:1px solid #d1d5db;border-radius:0.375rem;font-size:0.875rem;transition:border-color 0.2s ease}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59, 130, 246, 0.1)}.form-checkbox{width:auto;padding:0;margin:0}select.form-input{background-color:white;cursor:pointer}input[type=\"date\"].form-input{cursor:pointer}.readonly-select{background:#f9fafb;border:1px solid #d1d5db;border-radius:0.375rem;padding:0.5rem}.select-placeholder{font-size:0.875rem;color:#6b7280;margin-bottom:0.5rem}.select-options-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0.25rem}.select-option{background:#e5e7eb;padding:0.25rem 0.5rem;border-radius:0.25rem;font-size:0.875rem;color:#374151}.multiselect-container{display:flex;flex-direction:column;gap:0.5rem;padding:0.5rem;border:1px solid #d1d5db;border-radius:0.375rem;background:white}.multiselect-option{display:flex;align-items:center;gap:0.5rem;padding:0.5rem;border-radius:0.25rem;cursor:pointer;transition:background 0.2s ease}.multiselect-option:hover{background:#f3f4f6}.multiselect-option input[type=\"checkbox\"]{width:18px;height:18px;cursor:pointer}.multiselect-option input[type=\"checkbox\"]:checked+.multiselect-label{font-weight:600;color:#059669}.multiselect-label{font-size:0.875rem;color:#374151;user-select:none}";Ai();const Ji=class{get parsedInputTypes(){if(!this.inputTypes)return[];try{return JSON.parse(this.inputTypes.replace(/'/g,'"'))}catch(e){return this.inputTypes.split(",").map((e=>e.trim()))}}constructor(t){e(this,t);this.formFilled=i(this,"formFilled");this.recordingStateChanged=i(this,"recordingStateChanged");this.formJson="{}";this.serviceConfig="{}";this.context=undefined;this.classificationRootUrl="http://localhost";this.language="en";this.inputTypes="";this.debug=false;this.renderForm=false;this.displayStatus=false;this.isRecording=false;this.isProcessing=false;this.hasError=false;this.transcription="";this.filledData=null;this.debugInfo={};this.isReadonlyMode=true;this.triggerAudioRecordUpload=()=>{this.fileInputAudioRecord.click()};this.handleAudioRecordChange=async e=>{const t=e.target;if(!t.files||t.files.length===0)return;const i=t.files[0];console.log("Selected file:",i);this.processAudioContent(i)};this.audioRecorder=new n}componentWillLoad(){this.initializeServices()}initializeServices(){try{if(!this.context){this.hasError=true;const e=this.language=="en"?`Initialization error: context is '${this.context}'`:`Erreur d'initialisation: le contexte est '${this.context}'`;this.statusMessage=e;this.updateDebugInfo(e,{error:e})}else{this.parsedSchema=JSON.parse(this.formJson||"{}");this.parsedConfig=JSON.parse(this.serviceConfig||"{}");if(this.apiKey){this.parsedConfig=Object.assign(Object.assign({},this.parsedConfig),{speechToText:Object.assign(Object.assign({},this.parsedConfig.speechToText),{apiKey:this.apiKey}),llm:Object.assign(Object.assign({},this.parsedConfig.llm),{apiKey:this.apiKey})})}this.speechToTextService=a.create(this.parsedConfig);this.llmService=c.create(this.parsedConfig);this.updateDebugInfo("Initialized",{schema:this.parsedSchema,config:this.parsedConfig});this.hasError=false;this.statusMessage=this.language=="en"?"Select an input method":"Sélectionner une méthode de saisie";if(this.parsedInputTypes.length===0){this.inputTypes="voice"}}}catch(e){this.hasError=true;this.statusMessage=this.language=="en"?`Initialization error: ${e.message}`:`Erreur d'initialisation: ${e.message}`;this.updateDebugInfo("Initialization Error",{error:e.message})}}updateDebugInfo(e,t){if(this.debug){this.debugInfo=Object.assign(Object.assign({},this.debugInfo),{[e]:{timestamp:(new Date).toISOString(),data:t}})}}async handleRecordClick(){if(this.isProcessing)return;if(this.isRecording){await this.stopRecordingAndProcess()}else{await this.startRecording()}}async startRecording(){try{this.hasError=false;this.statusMessage=this.language=="en"?"Starting recording...":`Enregistrement ...`;this.updateDebugInfo("Start Recording Attempt",{});await this.audioRecorder.startRecording();this.isRecording=true;this.statusMessage=this.language=="en"?"Recording... Click to stop":"Enregistrement ... Cliquer pour stopper";this.updateDebugInfo("Recording Started",{});this.recordingStateChanged.emit({isRecording:true,state:"recording"})}catch(e){this.hasError=true;this.statusMessage=this.language=="en"?`Recording failed: ${e.message}`:`Echec de l'enregistrement : ${e.message}`;this.updateDebugInfo("Recording Error",{error:e.message});this.formFilled.emit({success:false,error:e.message})}}async processJsonForm(e){console.log("processJsonForm",e);try{this.isProcessing=true;this.statusMessage=this.language=="en"?"Processing json...":`Traitement du json ...`;const t=(e===null||e===void 0?void 0:e.content)||e;const i=JSON.stringify(t);this.statusMessage=this.language=="en"?"Filling form fields...":"Remplissage du formulaire ...";const r=await this.trimSchemaForAI(this.parsedSchema);const s=await this.llmService.fillFormFromJson(i,r);this.filledData=this.extractFilledData(s);this.updateDebugInfo("Form Filled",{filledSchema:s,extractedData:this.filledData});this.parsedSchema=this.filledData;this.statusMessage=this.language=="en"?"Form completed!":"Formulaire remplis !";this.hasError=false;this.formFilled.emit({success:true,data:this.filledData,jsonForm:i})}catch(t){this.hasError=true;this.statusMessage=this.language=="en"?`Processing failed: ${t.message}`:`Erreur de traitement : ${t.message}`;this.formFilled.emit({success:false,error:t.message,jsonForm:JSON.stringify(e)})}finally{this.isProcessing=false}}async processAudioContent(e){this.updateDebugInfo("Audio Captured",{size:e.size,type:e.type});this.statusMessage=this.language=="en"?"Transcribing speech...":"Transcription du texte ...";const t=await this.speechToTextService.transcribe(e,this.language);this.transcription=t;this.updateDebugInfo("Transcription Complete",{transcription:t});if(!t.trim()){throw new Error("No speech detected in the recording")}this.statusMessage=this.language=="en"?"Filling form fields...":"Remplissage du formulaire ...";const i=await this.trimSchemaForAI(this.parsedSchema);const r=await this.llmService.fillFormFromTranscription(t,i);this.filledData=this.extractFilledData(r);this.updateDebugInfo("Form Filled",{filledSchema:r,extractedData:this.filledData});this.parsedSchema=this.filledData;this.statusMessage=this.language=="en"?"Form completed!":"Formulaire remplis !";this.hasError=false;this.formFilled.emit({success:true,data:this.filledData,transcription:t})}async stopRecordingAndProcess(){try{this.isRecording=false;this.isProcessing=true;this.statusMessage=this.language=="en"?"Processing audio...":`Traitement de l'audio ...`;this.updateDebugInfo("Stop Recording",{});this.recordingStateChanged.emit({isRecording:false,state:"processing"});const e=await this.audioRecorder.stopRecording();const t=new File([e],"audio.webm",{type:"audio/webm"});this.processAudioContent(t)}catch(e){this.hasError=true;this.statusMessage=this.language=="en"?`Processing failed: ${e.message}`:`Erreur de traitement : ${e.message}`;this.updateDebugInfo("Processing Error",{error:e.message});this.formFilled.emit({success:false,error:e.message,transcription:this.transcription})}finally{this.isProcessing=false;this.recordingStateChanged.emit({isRecording:false,state:"idle"})}}extractFilledData(e){const t=JSON.parse(JSON.stringify(this.parsedSchema));switch(this.context){case"ecoteka":case"ng":if(e===null||e===void 0?void 0:e.fields){e.fields.forEach((e=>{const i=t.Children.find((t=>{var i;return t.System_Name===e.name||((i=t.Settings)===null||i===void 0?void 0:i.Label)===e.name}));if(i&&e.value!==undefined&&e.value!==null&&e.value!==""){if(!i.Settings)i.Settings={};i.Settings.Default_Value=e.value}}))}break;case"ecoll-veto":if(e===null||e===void 0?void 0:e.fields){e.fields.forEach((e=>{let i=t[0].items.find((t=>t.label===e.name));if(!i)i=t[1].items.find((t=>t.label===e.name));if(i&&e.value!==undefined&&e.value!==null&&e.value!==""){t[2][i.name]=e.value}}))}break;case"track":default:Object.entries(e.fields).forEach((([e,i])=>{if(i.default!==undefined&&i.default!==null&&i.default!==""){t[e]=i.default}if(i.value!==undefined&&i.value!==null&&i.value!==""){for(const e in t.fields){const r=t.fields[e];if(r.title===i.name){r.value=i.value||i.default;r.default=i.value||i.default;break}}}}));break}return t}async trimSchemaForAI(e){var t,i;switch(this.context){case"ecoteka":case"ng":const r={fields:[]};e.Children.forEach((e=>{var t;if(!e.System_Name||!e.Type)return;const i={name:e.Label||((t=e.Settings)===null||t===void 0?void 0:t.Label)||e.System_Name,type:this.mapFieldType(e.Type)};const s=["InputClassification","select"];if(s.includes(e.Type)&&e.Children&&e.Children.length>0){i.options=e.Children.map((e=>e.System_Name||e.Label||e.toString()))}console.log("fieldData",i);r.fields.push(i)}));return r;case"ecoll-veto":const s=this.parsedSchema[0].items.concat(this.parsedSchema[1].items);if(s){const e={title:"Form Name",description:"Form Description",schema:{}};Object.entries(s).forEach((async([t,i])=>{const r=i.name;const s=this.mapFieldType(i.type);const n=i.label||r;if(["position","thesaurus"].includes(s)){try{const e=await fetch(`${this.classificationRootUrl}/ng/api/v1/classification/getList/${s.toLowerCase()=="position"?"Position":"Thesaurus"}/?StartNodeID=${i.config.options.options.startNode}`);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(Array.isArray(t)){const e=t.map((e=>({value:e.ID,label:e.System_Name})));if(e.length>0){i.pickerOptions=e;i.options=e.map((e=>e.label.replace("'","")))}}else{console.error("Unexpected API response format:",t)}}catch(e){console.error("Error fetching classification data:",e)}}e.schema[r]={type:s,title:n,options:i.options,readonly:i.readonly===true,default:""}}));return e}case"track":default:if((t=e===null||e===void 0?void 0:e.schema)!==null&&t!==void 0?t:e===null||e===void 0?void 0:e.fields){const t={title:e.title,description:e.description,schema:{}};const r=(i=e===null||e===void 0?void 0:e.schema)!==null&&i!==void 0?i:e===null||e===void 0?void 0:e.fields;Object.entries(r).forEach((([e,i])=>{t.schema[e]={type:i.type,title:i.title,options:i.options,readonly:i.Enabled===false,default:i.DefaultValue,pattern:i.Mask,min:i.ValidationMin,max:i.ValidationMax}}));return t}break}return e}mapFieldType(e){const t={InputAutocomplete:"string",InputInteger:"number",InputTextArea:"string",InputDateTimePicker:"datetime",InputDecimal:"number",InputClassification:"classification",InputCheckbox:"boolean",InputTextTranslation:"string",InputMultiSelect:"multiselect",thesaurus:"thesaurus",position:"position",text:"string",textarea:"string",number:"number",date:"date",datetime:"datetime",select:"select",multiselect:"multiselect",checkbox:"checkbox"};return t[e]||"string"}async convertXmlToJson(e){return f.convertXmlToJson(e,this.classificationRootUrl,this.language)}async convertJsonToXml(e){return f.convertJsonToXml(e)}async convertXmlToJsonLegacy(e){return f.convertXmlToJsonLegacy(e)}async convertJsonToXmlLegacy(e){return f.convertJsonToXmlLegacy(e)}renderUploadButton(){if(!this.parsedInputTypes.includes("ocr"))return;return t("ocr-file-uploader",{batch:false,"json-schema":this.convertSchemaToOcrFormat(this.parsedSchema),callback:e=>{this.processJsonForm(e)}})}convertSchemaToOcrFormat(e){const t={type:"object",additionalProperties:false,properties:{meta:{type:"object",additionalProperties:false,properties:{page:{type:"integer"},confiance_global:{type:"number"}},required:["page","confiance_global"]},content:{type:"object",additionalProperties:false,properties:{},required:[]}},required:["meta","content"]};if(e===null||e===void 0?void 0:e.Children){e.Children.forEach((e=>{var i;if(e.System_Name&&e.Type){const r=((i=e.Settings)===null||i===void 0?void 0:i.Label)||e.System_Name;const s=this.mapOcrFieldType(e.Type);t.properties.content.properties[r]={anyOf:[{type:s},{type:"null"}]}}}))}return JSON.stringify(t)}mapOcrFieldType(e){const t={InputInteger:"number",InputDecimal:"number",InputDateTimePicker:"string",InputCheckbox:"boolean"};return t[e]||"string"}renderUploadRecordButton(){if(!this.parsedInputTypes.includes("audio"))return;return t("div",{class:"upload-record-container",onClick:this.triggerAudioRecordUpload},t("input",{type:"file",ref:e=>this.fileInputAudioRecord=e,onChange:this.handleAudioRecordChange,style:{display:"none"}}),t("div",{class:"upload-record-button"},t("svg",{width:"800px",height:"800px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12 2.75C6.89137 2.75 2.75 6.89137 2.75 12C2.75 17.1086 6.89137 21.25 12 21.25C12.6345 21.25 13.2534 21.1862 13.8508 21.065C14.2567 20.9826 14.6526 21.2448 14.735 21.6508C14.8174 22.0567 14.5551 22.4526 14.1492 22.535C13.4541 22.6761 12.7353 22.75 12 22.75C6.06294 22.75 1.25 17.9371 1.25 12C1.25 6.06294 6.06294 1.25 12 1.25C17.9371 1.25 22.75 6.06294 22.75 12C22.75 12.7353 22.6761 13.4541 22.535 14.1492C22.4526 14.5551 22.0567 14.8174 21.6508 14.735C21.2448 14.6526 20.9826 14.2567 21.065 13.8508C21.1862 13.2534 21.25 12.6345 21.25 12C21.25 6.89137 17.1086 2.75 12 2.75ZM12.7676 8.52584C12.7661 8.53409 12.7604 8.56729 12.7564 8.64336C12.7502 8.76101 12.75 8.91982 12.75 9.17082C12.75 9.27795 12.7501 9.33904 12.7518 9.38529C12.7528 9.41425 12.7542 9.42649 12.7546 9.42955C12.7662 9.48945 12.7993 9.54303 12.8477 9.58021C12.8502 9.58194 12.8606 9.58864 12.886 9.60252C12.9266 9.62468 12.9812 9.65209 13.0771 9.7L14.3938 10.3584C14.6183 10.4706 14.7604 10.5414 14.8684 10.5885C14.9382 10.6189 14.9705 10.6287 14.9785 10.631C15.0885 10.6405 15.1917 10.5767 15.2324 10.4742C15.2339 10.4659 15.2396 10.4327 15.2436 10.3566C15.2498 10.239 15.25 10.0802 15.25 9.82918C15.25 9.72205 15.2499 9.66096 15.2482 9.61471C15.2472 9.58575 15.2458 9.57351 15.2454 9.57045C15.2338 9.51055 15.2007 9.45697 15.1523 9.41979C15.1498 9.41805 15.1394 9.41136 15.114 9.39748C15.0734 9.37533 15.0188 9.34791 14.9229 9.3L13.6062 8.64164C13.3817 8.52939 13.2396 8.45859 13.1316 8.41151C13.0617 8.38107 13.0295 8.37131 13.0215 8.36896C12.9115 8.35945 12.8083 8.42327 12.7676 8.52584ZM12.75 11.2135L13.7396 11.7083C13.9425 11.8098 14.1204 11.8987 14.269 11.9635C14.4199 12.0293 14.5988 12.097 14.7972 12.1202C15.6037 12.2142 16.3689 11.7413 16.6454 10.978C16.7134 10.7901 16.7328 10.5998 16.7415 10.4355C16.75 10.2735 16.75 10.0747 16.75 9.8479V9.82918C16.75 9.81565 16.75 9.80205 16.75 9.78837C16.7503 9.62647 16.7505 9.45474 16.7188 9.28904C16.638 8.86674 16.4045 8.48898 16.0629 8.22783C15.9289 8.12535 15.7752 8.04877 15.6303 7.97658C15.618 7.97048 15.6059 7.96441 15.5938 7.95836L14.2603 7.29164C14.0575 7.19022 13.8796 7.10128 13.731 7.03647C13.5801 6.97071 13.4012 6.90297 13.2028 6.87982C12.3963 6.78575 11.6311 7.25868 11.3546 8.02203C11.2866 8.20986 11.2672 8.40019 11.2585 8.56454C11.2519 8.68919 11.2504 8.83571 11.2501 9L11.25 9.11944C11.25 9.13026 11.25 9.14115 11.25 9.1521V9.17082C11.25 9.18435 11.25 9.19795 11.25 9.21163C11.2499 9.23918 11.2499 9.26701 11.25 9.29505V12.5499C10.875 12.3581 10.4501 12.25 10 12.25C8.48122 12.25 7.25 13.4812 7.25 15C7.25 16.5188 8.48122 17.75 10 17.75C11.5188 17.75 12.75 16.5188 12.75 15V11.2135ZM11.25 15C11.25 14.3096 10.6904 13.75 10 13.75C9.30964 13.75 8.75 14.3096 8.75 15C8.75 15.6904 9.30964 16.25 10 16.25C10.6904 16.25 11.25 15.6904 11.25 15ZM17.4697 14.4697C17.7626 14.1768 18.2374 14.1768 18.5303 14.4697L21.0303 16.9697C21.3232 17.2626 21.3232 17.7374 21.0303 18.0303C20.7374 18.3232 20.2626 18.3232 19.9697 18.0303L18.75 16.8107V22C18.75 22.4142 18.4142 22.75 18 22.75C17.5858 22.75 17.25 22.4142 17.25 22V16.8107L16.0303 18.0303C15.7374 18.3232 15.2626 18.3232 14.9697 18.0303C14.6768 17.7374 14.6768 17.2626 14.9697 16.9697L17.4697 14.4697Z"}))))}renderRecordButton(){if(!this.parsedInputTypes.includes("voice"))return;const e=["record-button",this.isRecording&&"recording",this.isProcessing&&"processing"].filter(Boolean).join(" ");const i=this.isProcessing||this.hasError;return t("button",{class:e,onClick:()=>this.handleRecordClick(),disabled:i,"aria-label":this.isRecording?"Stop recording":"Start recording"},this.isProcessing?t("svg",{class:"record-icon",viewBox:"0 0 24 24"},t("circle",{cx:"12",cy:"12",r:"3"},t("animate",{attributeName:"r",values:"3;6;3",dur:"1s",repeatCount:"indefinite"}),t("animate",{attributeName:"opacity",values:"1;0.3;1",dur:"1s",repeatCount:"indefinite"}))):this.isRecording?t("svg",{class:"record-icon",viewBox:"0 0 24 24"},t("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})):t("svg",{class:"record-icon",viewBox:"0 0 24 24"},t("circle",{cx:"12",cy:"12",r:"8"})))}renderStatusMessage(){const e=["status-text",this.hasError&&"error",this.filledData&&!this.hasError&&"success"].filter(Boolean).join(" ");return t("div",{class:e},this.statusMessage)}renderFormPreview(){if(!this.parsedSchema)return null;const e=this.isReadonlyMode&&!this.filledData;const i=e?"Form Preview (Voice input to fill)":"Voice-Filled Form:";return t("div",{class:"form-preview"},t("div",{class:"form-preview-title"},i),t("form",{class:"voice-filled-form"},this.renderFormFields()))}renderFormFields(){if(!this.parsedSchema)return null;switch(this.context){case"ecoteka":case"ng":return this.parsedSchema.Children.map((e=>{var i,r,s;if(!e.System_Name||!e.Type)return null;const n=e.System_Name;const o=this.mapFieldType(e.Type);const a=((i=e.Settings)===null||i===void 0?void 0:i.Label)||e.System_Name;const l=e.Required||false;const c=(r=e.Settings)===null||r===void 0?void 0:r.Default_Value;return t("div",{class:"form-group",key:n},t("label",{htmlFor:n,class:"form-label"},a,l&&t("span",{class:"required"},"*")),this.renderFormField(n,{type:o,title:a,required:l,options:(s=e.Children)===null||s===void 0?void 0:s.map((e=>e.System_Name||e.Label||e.toString()))},c))})).filter(Boolean);case"ecoll-veto":const e=this.parsedSchema[0].items.concat(this.parsedSchema[1].items);return Object.entries(e).map((([e,i])=>{var r,s;const n=i.name;i.type=this.mapFieldType(i.type);const o=i.label||n;const a=i.required||false;const l=this.parsedSchema[2][n];console.log("filling with",i);return t("div",{class:"form-group",key:n},t("label",{htmlFor:n,class:"form-label"},o,a&&t("span",{class:"required"},"*")),this.renderFormField(n,i,(s=(r=this.filledData)===null||r===void 0?void 0:r[n])!==null&&s!==void 0?s:l))}));case"track":default:return Object.entries(this.parsedSchema.fields).map((([e,i])=>{var r,s;return t("div",{class:"form-group",key:e},t("label",{htmlFor:e,class:"form-label"},i.title||e,i.required&&t("span",{class:"required"},"*")),this.renderFormField(e,i,(s=(r=this.filledData)===null||r===void 0?void 0:r[e])!==null&&s!==void 0?s:i.value))}))}}renderFormField(e,i,r){var s,n,o,a;const l=this.isReadonlyMode&&!this.filledData;const c={id:e,name:e,class:"form-input",required:i.required,disabled:l};switch(i.type){case"multiselect":if(l){return t("div",{class:"readonly-select"},t("div",{class:"select-placeholder"},"Available options:"),t("ul",{class:"select-options-list"},(s=i.options)===null||s===void 0?void 0:s.map((e=>t("li",{class:"select-option"},e)))))}const f=Array.isArray(r)?r:r?[r]:[];return t("div",{class:"multiselect-container"},(n=i.options)===null||n===void 0?void 0:n.map((i=>{const r=f.some((e=>(e===null||e===void 0?void 0:e.toString().toLowerCase())===(i===null||i===void 0?void 0:i.toString().toLowerCase())));return t("label",{class:"multiselect-option"},t("input",{type:"checkbox",name:e,value:i,checked:r,disabled:l}),t("span",{class:"multiselect-label"},i))})));case"select":if(l){return t("div",{class:"readonly-select"},t("div",{class:"select-placeholder"},"Available options:"),t("ul",{class:"select-options-list"},(o=i.options)===null||o===void 0?void 0:o.map((e=>t("li",{class:"select-option"},e)))))}return t("select",{id:e,name:e,class:"form-input",required:i.required},t("option",{value:""},"-- Select --"),(a=i.options)===null||a===void 0?void 0:a.map((e=>t("option",{value:e,selected:r===e},e))));case"boolean":return t("input",Object.assign({},c,{type:"checkbox",class:"form-checkbox",checked:r===true||r==="true"}));case"number":return t("input",Object.assign({},c,{type:"number",min:i.min,max:i.max,step:"any",value:r||""}));case"date":return t("input",Object.assign({},c,{type:"date",value:r?(([e,t,i])=>`${i}-${t}-${e}`)(r.split("/")):""}));case"datetime":return t("input",Object.assign({},c,{type:"datetime-local",value:r||""}));default:return t("input",Object.assign({},c,{type:"text",pattern:i.pattern,placeholder:i.description,value:r||""}))}}renderDebugPanel(){if(!this.debug)return null;return t("div",{class:"debug-panel"},t("div",{class:"debug-title"},"Debug Information:"),t("div",{class:"debug-content"},JSON.stringify(this.debugInfo,null,2)))}render(){return t("div",{key:"2eddc02481849fda4e6d9e245d4c3c668938b84c"},t("div",{key:"eb1bc3cfcf0a19c54f5b2ab1ce488fa289a0dc68",class:"voice-recorder-container"+(this.debug||this.renderForm?"-debug":"")},t("div",{key:"b93900dce4b0de5d830f4f8517d4e56dc746efbb",class:"row-audio-area"},this.renderRecordButton(),this.renderUploadRecordButton()),this.displayStatus?this.renderStatusMessage():"",this.renderUploadButton(),this.renderForm?this.renderFormPreview():"",this.debug?this.renderDebugPanel():""))}static get watchers(){return{formJson:["initializeServices"],serviceConfig:["initializeServices"]}}};Ji.style=zi;export{s as ocr_file_uploader,Ji as voice_input_module};
3
+ //# sourceMappingURL=p-37de1da2.entry.js.map