diff --git a/demo/partials/buttons.html b/demo/partials/buttons.html index fb4072e..568a6e5 100644 --- a/demo/partials/buttons.html +++ b/demo/partials/buttons.html @@ -29,8 +29,8 @@ - - + +

Copy button

diff --git a/dist/index.html b/dist/index.html index ada5674..f3a9989 100644 --- a/dist/index.html +++ b/dist/index.html @@ -350,8 +350,8 @@ - - + +

Copy button

diff --git a/dist/js/gnexus-ui-kit.js b/dist/js/gnexus-ui-kit.js index 46a7283..d9df4fa 100644 --- a/dist/js/gnexus-ui-kit.js +++ b/dist/js/gnexus-ui-kit.js @@ -25,7 +25,7 @@ ${r} - `}function Y(e,t,a){let n=document.createElement(e);for(let[i,s]of Object.entries(t))i==="class"?n.className=s:i==="dataset"?Object.assign(n.dataset,s):n.setAttribute(i,s);return n.innerHTML=typeof a!="undefined"?a:"",n}function Le(e,t){return["primary","success","secondary","info","warning","error","danger"].indexOf(e)<0?console.error("createAlert()","Error of type: "+e):Y("div",{class:`alert alert-${e}`},t)}function we(e,t={}){let a={};for(let n in e){if(typeof t[n]!="undefined"){a[t[n]]=e[n];continue}a[n]=e[n]}return a}function xe(e,t){if((e==null?void 0:e.isLoading)==t)return!1;if(t)e.isLoading=!0,e.originalContent=e.innerHTML,e.classList.contains("with-icon")?e.originalWithIcon=!0:e.classList.add("with-icon"),e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),e.innerHTML=' Loading';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),e.originalWithIcon||e.classList.remove("with-icon"),e.innerHTML=e.originalContent}return e}function Ae(e,t){if((e==null?void 0:e.isLoading)==t)return!1;let a=e.querySelector(".status-icon");if(t)e.isLoading=!0,e.originalContent=a.innerHTML,e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),a.innerHTML='';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),a.innerHTML=e.originalContent}return e}function ke(e,t){return t=t!=null?t:"",` + `}function Y(e,t,a){let n=document.createElement(e);for(let[i,s]of Object.entries(t))i==="class"?n.className=s:i==="dataset"?Object.assign(n.dataset,s):n.setAttribute(i,s);return n.innerHTML=typeof a!="undefined"?a:"",n}function Le(e,t){return["primary","success","secondary","info","warning","error","danger"].indexOf(e)<0?console.error("createAlert()","Error of type: "+e):Y("div",{class:`alert alert-${e}`},t)}function we(e,t={}){let a={};for(let n in e){if(typeof t[n]!="undefined"){a[t[n]]=e[n];continue}a[n]=e[n]}return a}function xe(e,t){if((e==null?void 0:e.isLoading)==t)return!1;if(t)e.isLoading=!0,e.originalContent=e.innerHTML,e.classList.contains("with-icon")?e.originalWithIcon=!0:e.classList.add("with-icon"),e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),e.innerHTML=' Loading';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),e.originalWithIcon||e.classList.remove("with-icon"),e.innerHTML=e.originalContent}return e}function Ae(e,t){if((e==null?void 0:e.isLoading)==t)return!1;let a=e.querySelector(".status-icon");if(t)e.isLoading=!0,e.originalContent=a.innerHTML,e.classList.add("loading-state"),e.setAttribute("disabled","disabled"),a.innerHTML='';else{if(e.isLoading=!1,!e.originalContent)return!1;e.removeAttribute("disabled"),e.classList.remove("loading-state"),a.innerHTML=e.originalContent}return e}function ke(e,t){return t=t!=null?t:"",`
`}function $e(e){return e=="active"?'Online':'Offline'}function qe(e){return e=="enabled"?'Enabled':'Disabled'}function Te(e){let t=new Date(e.replace(" ","T")),n=Math.floor((new Date-t)/1e3);if(n<60)return"less than a minute ago";let i=Math.floor(n/60),s=Math.floor(i/60),l=Math.floor(s/24);if(i<60)return`${i} minute${i!==1?"s":""} ago`;if(s<24){let r=i%60;return`${s} hour${s!==1?"s":""} ${r} minute${r!==1?"s":""} ago`}return`${l} day${l!==1?"s":""} ago`}function Ne(e){let t=new Date(e.replace(" ","T")),a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),s=Math.floor((n-i)/864e5),l=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0");if(s===0)return`Today at ${l}:${r}`;if(s===1)return`Yesterday at ${l}:${r}`;let o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${t.getDate()} ${o[t.getMonth()]} ${t.getFullYear()} at ${l}:${r}`}function Ce(){return`
- + Loading
`}function He(){return` diff --git a/dist/js/gnexus-ui-kit.js.map b/dist/js/gnexus-ui-kit.js.map index 0c468b2..f27ae9b 100644 --- a/dist/js/gnexus-ui-kit.js.map +++ b/dist/js/gnexus-ui-kit.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../src/js/index.js", "../../src/js/components/helper.js", "../../src/js/components/toasts.js", "../../src/js/components/modals.js", "../../src/js/components/advanced-select.js", "../../src/js/components/editable-string.js", "../../src/js/components/confirm-popup.js", "../../src/js/components/drawer.js", "../../src/js/components/navigation-shell.js", "../../src/js/components/overlays.js", "../../src/js/components/input-patterns.js", "../../src/js/components/accordion.js", "../../src/js/components/tabs.js", "../../src/js/demo-navigation.js", "../../src/js/code-examples.js"], - "sourcesContent": ["import Helper from \"./components/helper.js\";\nimport Toasts from \"./components/toasts.js\";\nimport Modals from \"./components/modals.js\";\nimport advancedSelect from \"./components/advanced-select.js\";\nimport editableString from \"./components/editable-string.js\";\nimport confirmPopup from \"./components/confirm-popup.js\";\nimport Drawer from \"./components/drawer.js\";\nimport NavigationShell from \"./components/navigation-shell.js\";\nimport Overlays from \"./components/overlays.js\";\nimport InputPatterns from \"./components/input-patterns.js\";\nimport Accordion from \"./components/accordion.js\";\nimport Tabs from \"./components/tabs.js\";\nimport demoNavigation from \"./demo-navigation.js\";\nimport codeExamples from \"./code-examples.js\";\n\nconst api = {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nwindow.GNexusUIKit = api;\nObject.assign(window, api);\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n Overlays.init();\n NavigationShell.init();\n InputPatterns.init();\n Accordion.init();\n Tabs.init();\n demoNavigation();\n codeExamples();\n});\n\nexport {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nexport default api;\n", "function sidebarNav(items) {\n\tlet listItems = \"\";\n\n\tfor(let item of items) {\n\t\tlet aOpen = \"\";\n\t\tlet aClose = \"\";\n\t\tif(item.route) {\n\t\t\taOpen = ``;\n\t\t\taClose = ``;\n\t\t}\n\n\t\tlistItems += `\n\t\t\t
  • \n\t\t\t\t${aOpen}${item.content}${aClose}\n\t\t\t
  • \n\t\t`;\n\t}\n\n\treturn `\n\t\t
    \n\t\t\t
      \n\t\t\t\t${listItems} \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction table(caption, columns, data, tfoot) {\n\tlet head = ``;\n\tlet totalColumns = 0;\n\tfor(let key in columns) {\n\t\thead += `${columns[key]}`;\n\t\ttotalColumns++;\n\t}\n\thead += \"\";\n\n\tlet body = ``;\n\tfor(let item of data) {\n\t\tbody += ``;\n\t\tfor(let column in columns) {\n\t\t\tbody += `${item[column]}`;\n\t\t}\n\t\tbody += ``;\n\t}\n\n\tlet foot = \"\";\n\tif(typeof tfoot != \"undefined\") {\n\t\tfoot = `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t${tfoot}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tconst tableCaption = caption \n\t\t? `${caption}`\n\t\t: '';\n\n\tconst tableHead = data.length \n\t\t? `${head}`\n\t\t: '';\n\n\tbody = data.length\n\t\t? body\n\t\t: `Empty`;\n\n\tconst tableEmptyClass = !data.length \n\t\t? \"table-empty\"\n\t\t: \"\";\n\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\t\t${tableCaption}\n\t\t\t\t${tableHead}\n\t\t\t\t${body}\n\t\t\t\t${foot}\n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction createElement(type, props, content) {\n\tconst node = document.createElement(type);\n\n\tfor (const [key, value] of Object.entries(props)) {\n\t\tif (key === \"class\") {\n\t\t\tnode.className = value;\n\t\t} else if (key === \"dataset\") {\n\t\t\tObject.assign(node.dataset, value);\n\t\t} else {\n\t\t\tnode.setAttribute(key, value);\n\t\t}\n\t}\n\n\tnode.innerHTML = (typeof content != \"undefined\") ? content : \"\";\n\treturn node; \n}\n\nfunction createAlert(type, content) {\n\tif([\"primary\", \"success\", \"secondary\", \"info\", \"warning\", \"error\", \"danger\"].indexOf(type) < 0) {\n\t\treturn console.error(\"createAlert()\", \"Error of type: \" + type);\n\t}\n\n\treturn createElement(\"div\", {\n\t\tclass: `alert alert-${type}`,\n\t}, content);\n}\n\nfunction fieldsUnification(data, map = {}) {\n\tconst dataObj = {};\n\n\tfor(let field in data) {\n\t\tif(typeof map[field] != \"undefined\") {\n\t\t\tdataObj[ map[field] ] = data[field];\n\t\t\tcontinue;\n\t\t}\n\n\t\tdataObj[field] = data[field];\n\t}\n\n\treturn dataObj;\n}\n\nfunction btnLoadingState(btn, isLoading) {\n\tif(btn?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tif(isLoading) {\n\t\tbtn.isLoading = true;\n\t\tbtn.originalContent = btn.innerHTML;\n\t\tif(btn.classList.contains(\"with-icon\")) {\n\t\t\tbtn.originalWithIcon = true;\n\t\t} else {\n\t\t\tbtn.classList.add(\"with-icon\");\n\t\t}\n\n\t\tbtn.classList.add(\"loading-state\");\n\t\tbtn.setAttribute(\"disabled\", \"disabled\");\n\t\tbtn.innerHTML = ` Loading`;\n\t} else {\n\t\tbtn.isLoading = false;\n\t\tif(!btn.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tbtn.removeAttribute(\"disabled\");\n\t\tbtn.classList.remove(\"loading-state\");\n\t\tif(!btn.originalWithIcon) {\n\t\t\tbtn.classList.remove(\"with-icon\");\n\t\t}\n\t\tbtn.innerHTML = btn.originalContent;\n\t}\n\n\treturn btn;\n}\n\nfunction cardStatusLoadingState(card, isLoading) {\n\tif(card?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tconst iconContainer = card.querySelector(\".status-icon\");\n\n\tif(isLoading) {\n\t\tcard.isLoading = true;\n\t\tcard.originalContent = iconContainer.innerHTML;\n\t\tcard.classList.add(\"loading-state\");\n\t\tcard.setAttribute(\"disabled\", \"disabled\");\n\t\ticonContainer.innerHTML = ``;\n\t} else {\n\t\tcard.isLoading = false;\n\t\tif(!card.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tcard.removeAttribute(\"disabled\");\n\t\tcard.classList.remove(\"loading-state\");\n\t\ticonContainer.innerHTML = card.originalContent;\n\t}\n\n\treturn card;\n}\n\nfunction mainTemplate(sidebar, content) {\n\tcontent = content ?? \"\";\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${sidebar}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${content}\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction connectionStatusBadge(status) {\n\treturn status == \"active\"\n\t\t? `Online`\n\t\t: `Offline`;\n}\n\nfunction toogleStateBadge(state) {\n\treturn state == \"enabled\"\n\t\t? `Enabled`\n\t\t: `Disabled`;\n}\n\nfunction timeAgo(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst diff_seconds = Math.floor((now - date) / 1000);\n\n\tif (diff_seconds < 60) {\n\t\treturn \"less than a minute ago\";\n\t}\n\n\tconst minutes = Math.floor(diff_seconds / 60);\n\tconst hours = Math.floor(minutes / 60);\n\tconst days = Math.floor(hours / 24);\n\n\tif (minutes < 60) {\n\t\treturn `${minutes} minute${minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\tif (hours < 24) {\n\t\tconst remain_minutes = minutes % 60;\n\t\treturn `${hours} hour${hours !== 1 ? \"s\" : \"\"} ${remain_minutes} minute${remain_minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\treturn `${days} day${days !== 1 ? \"s\" : \"\"} ago`;\n}\n\nfunction formatDate(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\tconst target_day = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n\tconst diff_days = Math.floor((today - target_day) / 86400000);\n\n\tconst hours = String(date.getHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getMinutes()).padStart(2, \"0\");\n\n\tif (diff_days === 0) {\n\t\treturn `Today at ${hours}:${minutes}`;\n\t}\n\n\tif (diff_days === 1) {\n\t\treturn `Yesterday at ${hours}:${minutes}`;\n\t}\n\n\tconst months = [\n\t\t\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\n\t\t\"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"\n\t];\n\n\treturn `${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()} at ${hours}:${minutes}`;\n}\n\nfunction circleLoaderHTML() {\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\tLoading\n\t\t
    \n\t`;\n}\n\nfunction emptyHereHTML() {\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t

    It's empty here yet

    \n\t\t
    \n\t`;\n}\n\nexport default {\n\ttemplate: {\n\t\tsidebarNav,\n\t\ttable,\n\t\tcreateElement,\n\t\tcreateAlert,\n\t\tmainTemplate,\n\t\tconnectionStatusBadge,\n\t\ttoogleStateBadge,\n\t\tcircleLoaderHTML,\n\t\temptyHereHTML,\n\t},\n\tunification: {\n\t\tfieldsUnification,\n\t\ttimeAgo,\n\t\tformatDate\n\t},\n\tstates: {\n\t\tbtnLoadingState,\n\t\tcardStatusLoadingState\n\t}\n}\n", "function appendIcon(container, icon) {\n\tif(icon instanceof Node) {\n\t\tcontainer.append(icon);\n\t\treturn;\n\t}\n\n\tconst iconWrap = document.createElement(\"span\");\n\ticonWrap.innerHTML = icon;\n\tcontainer.append(...iconWrap.childNodes);\n}\n\nfunction template(type, icon, title, text) {\n\tconst toast = document.createElement(\"div\");\n\ttoast.className = `toast toast-${type}`;\n\ttoast.setAttribute(\"role\", \"alert\");\n\n\tconst content = document.createElement(\"div\");\n\tcontent.className = \"toast-content\";\n\n\tconst toastTitle = document.createElement(\"h4\");\n\ttoastTitle.className = \"toast-title\";\n\tappendIcon(toastTitle, icon);\n\ttoastTitle.append(document.createTextNode(` ${title ?? \"\"}`));\n\n\tconst toastText = document.createElement(\"p\");\n\ttoastText.className = \"toast-text\";\n\ttoastText.textContent = text ?? \"\";\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon toast-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tcontent.append(toastTitle, toastText);\n\ttoast.append(content, close);\n\n\treturn toast;\n}\n\nfunction init(toast, props) {\n\tif(props?.alone) {\n\t\tdocument.querySelectorAll(\".toast\").forEach(i => i.close?.());\n\t}\n\n\ttoast.close = function() {\n\t\tthis.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tthis.remove();\n\t\t}, 300);\n\t}\n\n\ttoast.querySelector(\".toast-close\").addEventListener(\"click\", e => {\n\t\ttoast.close();\n\t});\n\n\ttoast.show = function() {\n\t\tdocument.querySelector(\"body\").append(toast);\n\n\t\tsetTimeout(() => {\n\t\t\ttoast.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\ttoast.addEventListener(\"mouseover\", e => toast.ishovered = true);\n\ttoast.addEventListener(\"mouseout\", e => toast.ishovered = false);\n\n\tif(props?.lifetime) {\n\t\tconst lifetimeInterval = setInterval(() => {\n\t\t\tif(!toast.ishovered) {\n\t\t\t\ttoast.close();\n\t\t\t\tclearInterval(lifetimeInterval);\n\t\t\t}\n\t\t}, props?.lifetime);\n\t}\n\n\treturn toast;\n}\n\nfunction create(type, icon, title, text, props) {\n\treturn init(template(type, icon, title, text), props);\n}\n\nfunction createSuccess(title, text, props) {\n\tif(typeof props == \"undefined\") {\n\t\tprops = {};\n\t}\n\n\tif(typeof props.lifetime == \"undefined\") {\n\t\tprops.lifetime = 4000;\n\t}\n\n\tif(typeof props.alone == \"undefined\") {\n\t\tprops.alone = true;\n\t}\n\n\treturn create(\n\t\t\"success\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createInfo(title, text, props) {\n\treturn create(\n\t\t\"info\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createWarning(title, text, props) {\n\treturn create(\n\t\t\"warning\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createError(title, text, props) {\n\treturn create(\n\t\t\"danger\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nexport default {\n create,\n createInfo,\n createSuccess,\n createWarning,\n createError,\n \"createDanger\": createError\n};\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst modal = document.createElement(\"div\");\n\tmodal.className = \"modal\";\n\tmodal.setAttribute(\"aria-hidden\", \"true\");\n\tmodal.id = id;\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"modal-backdrop\";\n\n\tconst dialog = document.createElement(\"div\");\n\tdialog.className = \"modal-dialog\";\n\tdialog.setAttribute(\"role\", \"dialog\");\n\tdialog.setAttribute(\"aria-modal\", \"true\");\n\tdialog.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst panel = document.createElement(\"div\");\n\tpanel.className = \"modal-panel\";\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"modal-header\";\n\n\tconst modalTitle = document.createElement(\"h4\");\n\tmodalTitle.className = \"modal-title\";\n\tmodalTitle.id = `${id}-title`;\n\tmodalTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon modal-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"modal-body\";\n\n\tconst modalFooter = document.createElement(\"footer\");\n\tmodalFooter.className = \"modal-footer\";\n\tappendContent(modalFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(modalTitle, close);\n\tpanel.append(body, modalFooter);\n\tdialog.append(header, panel);\n\tmodal.append(backdrop, dialog);\n\n\treturn modal;\n}\n\nfunction init(modal, onready) {\n\tmodal.show = function() {\n\t\tdocument.querySelector(\"body\").append(modal);\n\n\t\tsetTimeout(() => {\n\t\t\tmodal.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\tmodal.close = function() {\n\t\tmodal.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tmodal.remove();\n\t\t}, 300);\n\t}\n\n\tmodal.querySelector(\".modal-close\").addEventListener(\"click\", e => {\n\t\tmodal.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(modal);\n\t}\n\n\treturn modal;\n}\n\n\t/**\n\t * Create new modal window;\n\t * @param {string} id Uniq id (selector)\n\t * @param {string} title Display title\n\t * @param {object} props { body: modal => {}, actions => modal => {} }\n\t * @return {object} DOM object\n\t */\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst modal = template(id, title, footer, props);\n\n\tconst modalBody = modal.querySelector(\".modal-body\");\n\tconst modalFooter = modal.querySelector(\".modal-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(modal);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tmodalFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tmodalFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(modal);\n\n\t\tappendContent(modalBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(modal, props?.onready);\n}\n\nexport default {\n\tcreate\n}\n", "function scrollToElementInFocus(container) {\n\tconst focus = container.querySelector(\".focus\");\n\tif (!focus) return;\n\n\tconst container_rect = container.getBoundingClientRect();\n\tconst focus_rect = focus.getBoundingClientRect();\n\n\tif (focus_rect.top < container_rect.top) {\n\t\tcontainer.scrollTop -= (container_rect.top - focus_rect.top);\n\t} else if (focus_rect.bottom > container_rect.bottom) {\n\t\tcontainer.scrollTop += (focus_rect.bottom - container_rect.bottom);\n\t}\n}\n\nfunction autoSetState(container) {\n\tconst totalViewed = container.advancedSelect.optionsElements.length - container.querySelectorAll(\".option.hide\").length;\n\tif(totalViewed == 0) {\n\t\tcontainer.advancedSelect.showState(\"not-found\");\n\t} else {\n\t\tcontainer.advancedSelect.showState(\"options\");\n\t}\n}\n\nfunction firstVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide)\");\n}\n\nfunction lastVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide):last-child\");\n}\n\nfunction selectOption(input, container, option) {\n\tif(!option) {\n\t\treturn;\n\t}\n\n\tinput.value = option.dataset.displayValue;\n\tinput.blur();\n\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\tcontainer.advancedSelect.dispatchEvent(\"selected\");\n\tcontainer.advancedSelect.closeList();\n}\n\nexport default function advancedSelect(input, options, notFoundText) {\n\tconst container = document.createElement(\"div\");\n\tcontainer.classList.add(\"advanced-select\");\n\n\tconst popup = document.createElement(\"div\");\n\tpopup.className = \"popup-options-container\";\n\n\tconst notFound = document.createElement(\"div\");\n\tnotFound.className = \"not-found\";\n\tnotFound.textContent = notFoundText ?? \"Nothing found\";\n\n\tconst optionsContainer = document.createElement(\"div\");\n\toptionsContainer.className = \"options\";\n\n\tfor(let optionValue in options) {\n\t\tconst option = document.createElement(\"div\");\n\t\toption.className = \"option\";\n\t\toption.dataset.value = optionValue;\n\t\toption.dataset.displayValue = options[optionValue];\n\t\toption.textContent = options[optionValue];\n\t\toptionsContainer.append(option);\n\t}\n\n\tpopup.append(notFound, optionsContainer);\n\tcontainer.append(popup);\n\n\tconst existsOption = (value, options) => {\n\t\tfor(let optionValue in options) {\n\t\t\tif(options[optionValue] == value) {\n\t\t\t\tconst ret = {};\n\t\t\t\tret[optionValue] = options[optionValue];\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcontainer.advancedSelect = {\n\t\tisOpened: false,\n\t\toptions: options,\n\t\teventsHandlers: {\n\t\t\topenList: [],\n\t\t\tcloseList: [],\n\t\t\tselected: [],\n\t\t\tchanged: [],\n\t\t},\n\t\topenList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = true;\n\t\t\tcontainer.classList.add(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"openList\");\n\t\t},\n\t\tcloseList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = false;\n\t\t\tcontainer.classList.remove(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"closeList\");\n\t\t},\n\t\tshowState: stateName => {\n\t\t\tif(stateName == \"options\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.add(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.remove(\"show\");\n\t\t\t} else if(stateName == \"not-found\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.remove(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.add(\"show\");\n\t\t\t}\n\t\t},\n\t\toptionsElements: container.querySelectorAll(\".option\"),\n\t\tvalue: () => {\n\t\t\tconst option = existsOption(input.value, options);\n\n\t\t\treturn { \n\t\t\t\tinputValue: input.value,\n\t\t\t\tisOption: option ? true : false,\n\t\t\t\toption \n\t\t\t};\n\t\t},\n\t\taddEventListener: (name, handler) => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] != \"undefined\") {\n\t\t\t\treturn container.advancedSelect.eventsHandlers[name].push(handler);\n\t\t\t}\n\n\t\t\tconsole.error(\"Advanced Select component.\", \"addEventListener()\", \"Invalid event name\");\n\t\t},\n\t\tdispatchEvent: name => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] == \"undefined\") {\n\t\t\t\treturn console.error(\"Advanced Select component.\", \"dispatchEvent()\", \"Invalid event name\");\n\t\t\t}\n\t\t\t\n\t\t\tfor(let eventHandler of container.advancedSelect.eventsHandlers[name]) {\n\t\t\t\teventHandler(container);\n\t\t\t}\n\t\t}\n\t};\n\n\tinput.setAttribute(\"autocomplete\", \"nope\");\n\n\tinput.advancedSelect = {\n\t\tvalue: () => container.advancedSelect.value()\n\t}\n\n\tinput.addEventListener(\"focus\", e => {\n\t\tcontainer.advancedSelect.openList();\n\t});\n\n\tinput.addEventListener(\"blur\", e => {\n\t\trequestAnimationFrame(() => {\n\t\t\tif(!container.matches(\":hover\")) {\n\t\t\t\tcontainer.advancedSelect.closeList();\n\t\t\t}\n\t\t});\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"ArrowUp\") {\n\t\t\te.preventDefault();\n\t\t\t// up\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet prev = current.previousElementSibling;\n\n\t\t\t\twhile (prev) {\n\t\t\t\t\tif (!prev.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tprev = prev.previousElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!prev) {\n\t\t\t\t\tprev = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tprev?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tlastVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"ArrowDown\") {\n\t\t\te.preventDefault();\n\t\t\t// down\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet next = current.nextElementSibling;\n\n\t\t\t\twhile (next) {\n\t\t\t\t\tif (!next.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnext = next.nextElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!next) {\n\t\t\t\t\tnext = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tnext?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tfirstVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"Enter\") {\n\t\t\te.preventDefault();\n\t\t\tlet selected = container.querySelector(\".option.focus\");\n\t\t\tselectOption(input, container, selected);\n\t\t} else if(e.key === \"Escape\") {\n\t\t\tcontainer.advancedSelect.closeList();\n\t\t\tinput.blur();\n\t\t}\n\t});\n\n\tinput.addEventListener(\"input\", e => {\n\t\tconst val = e.currentTarget.value.toLowerCase();\n\t\tif(val == \"\") {\n\t\t\tcontainer.advancedSelect.optionsElements.forEach(i => i.classList.remove(\"hide\"));\n\t\t} else {\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) != -1)\n\t\t\t\t.forEach(i => i.classList.remove(\"hide\"));\n\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) == -1)\n\t\t\t\t.forEach(i => i.classList.add(\"hide\"));\n\n\t\t\tautoSetState(container);\n\n\t\t\tcontainer.querySelector(\".option.focus\")?.classList.remove(\"focus\");\n\t\t}\n\t});\n\n\tinput.addEventListener(\"change\", e => {\n\t\tcontainer.advancedSelect.dispatchEvent(\"changed\");\n\t});\n\n\t[ ...container.advancedSelect.optionsElements ].forEach(option => {\n\t\toption.addEventListener(\"pointerdown\", e => {\n\t\t\te.preventDefault();\n\t\t\tselectOption(input, container, e.currentTarget);\n\t\t});\n\t});\n\n\treturn container;\n}\n", "import Helper from \"./helper.js\";\n\nfunction template(originalText, isMultiString) {\n\tconst placeholder = \"Write something\";\n\tconst input = !isMultiString \n\t\t? ``\n\t\t: ``;\n\n\treturn `\n\t\t
    \n\t\t\t${originalText}\n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \n\t`;\n}\n\nexport default function editableString(stringContainer, isMultiString) {\n\tisMultiString = isMultiString ?? false;\n\n\tconst originalText = stringContainer.innerHTML;\n\n\tconst component = Helper.template.createElement(\"div\", {\n\t\t\"class\": \"component editable-string-component\"\n\t}, template(originalText, isMultiString));\n\n\tstringContainer.innerHTML = \"\";\n\tstringContainer.append(component);\n\n\tconst editBtn = component.querySelector(\".edit-text-btn\");\n\tconst applyBtn = component.querySelector(\".apply-changes-btn\");\n\tconst cancelBtn = component.querySelector(\".cancel-changes-btn\");\n\tconst content = component.querySelector(\".editable-string-content\");\n\tconst editableString = component.querySelector(\".editable-string\");\n\tconst form = component.querySelector(\".editable-string-form\");\n\tconst input = component.querySelector(\".input\");\n\n\tcomponent.editableString = {\n\t\tformIsDisplaying: false,\n\t\tvalue: originalText,\n\t\tinput: input,\n\t\teventsHandlers: {\n\t\t\tonChange: [],\n\t\t\tonSwitch: [],\n\t\t},\n\t\tswitch: () => {\n\t\t\tif(component.formIsDisplaying) {\n\t\t\t\tform.classList.add(\"d-none\");\n\t\t\t\tcontent.classList.remove(\"d-none\");\n\t\t\t\teditableString.innerText = component.editableString.value;\n\t\t\t} else {\n\t\t\t\tform.classList.remove(\"d-none\");\n\t\t\t\tcontent.classList.add(\"d-none\");\n\t\t\t\tinput.value = component.editableString.value;\n\t\t\t}\n\n\t\t\tcomponent.formIsDisplaying = !component.formIsDisplaying;\n\t\t\tcomponent.editableString.runEventHandler(\"onSwitch\");\n\t\t},\n\t\tsetValue: val => {\n\t\t\tcomponent.editableString.value = val;\n\t\t\tinput.value = val;\n\t\t\teditableString.innerText = val;\n\t\t},\n\t\tapply: () => {\n\t\t\tcomponent.editableString.value = input.value;\n\t\t\tcomponent.editableString.switch();\n\t\t\tif(input.value != originalText) {\n\t\t\t\tcomponent.editableString.runEventHandler(\"onChange\");\n\t\t\t}\n\t\t},\n\t\tonChange: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onChange.push(cb);\n\t\t},\n\t\tonSwitch: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onSwitch.push(cb);\n\t\t},\n\t\trunEventHandler: evName => {\n\t\t\tcomponent.editableString.eventsHandlers[evName].forEach(handler => handler(component.editableString));\n\t\t} \n\t}\n\n\teditBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tcancelBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tapplyBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.apply();\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"Enter\") {\n\t\t\tinput.blur();\n\t\t\tcomponent.editableString.apply();\n\t\t}\n\t});\n\n\treturn component;\n}\n", "import Helper from \"./helper.js\";\nimport Modals from \"./modals.js\";\n\nexport default function confirmPopup(text, confirmedCb, canceledCb) {\n\tModals.create(\"confirm-popup\", {\n\t\ttitle: `Requires confirmation`,\n\t\tbody: () => {\n\t\t\tconst paragraph = document.createElement(\"p\");\n\t\t\tparagraph.textContent = text ?? \"\";\n\t\t\treturn paragraph;\n\t\t},\n\t\tactions: modal => {\n\t\t\tconst buttonNO = Helper.template.createElement(\"button\", { class: \"btn btn-primary\" }, \"NO\");\n\t\t\tconst buttonYES = Helper.template.createElement(\"button\", { class: \"btn btn-warning\" }, \"YES\");\n\n\t\t\tbuttonNO.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tcanceledCb?.();\n\t\t\t});\n\n\t\t\tbuttonYES.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tconfirmedCb?.();\n\t\t\t});\n\n\t\t\treturn [ buttonNO, buttonYES ];\n\t\t}\n\t}).show();\n}\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst drawer = document.createElement(\"div\");\n\tdrawer.className = \"drawer\";\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.id = id;\n\n\tif(props.position === \"left\") {\n\t\tdrawer.classList.add(\"drawer-left\");\n\t}\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"drawer-backdrop\";\n\n\tconst panel = document.createElement(\"aside\");\n\tpanel.className = \"drawer-panel\";\n\tpanel.setAttribute(\"role\", \"dialog\");\n\tpanel.setAttribute(\"aria-modal\", \"true\");\n\tpanel.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"drawer-header\";\n\n\tconst drawerTitle = document.createElement(\"h4\");\n\tdrawerTitle.className = \"drawer-title\";\n\tdrawerTitle.id = `${id}-title`;\n\tdrawerTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon drawer-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"drawer-body\";\n\n\tconst drawerFooter = document.createElement(\"footer\");\n\tdrawerFooter.className = \"drawer-footer\";\n\tappendContent(drawerFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(drawerTitle, close);\n\tpanel.append(header, body, drawerFooter);\n\tdrawer.append(backdrop, panel);\n\n\treturn drawer;\n}\n\nfunction init(drawer, onready) {\n\tdrawer.show = function() {\n\t\tdocument.querySelector(\"body\").append(drawer);\n\n\t\tsetTimeout(() => {\n\t\t\tdrawer.classList.add(\"a-show\");\n\t\t}, 10);\n\t};\n\n\tdrawer.close = function() {\n\t\tdrawer.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tdrawer.remove();\n\t\t}, 300);\n\t};\n\n\tdrawer.querySelector(\".drawer-close\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tdrawer.querySelector(\".drawer-backdrop\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(drawer);\n\t}\n\n\treturn drawer;\n}\n\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst drawer = template(id, title, footer, props);\n\n\tconst drawerBody = drawer.querySelector(\".drawer-body\");\n\tconst drawerFooter = drawer.querySelector(\".drawer-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(drawer);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tdrawerFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tdrawerFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(drawer);\n\n\t\tappendContent(drawerBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(drawer, props?.onready);\n}\n\nexport default {\n\tcreate\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getDrawerForToggle(toggle, root) {\n\tconst id = toggle.getAttribute(\"aria-controls\");\n\n\tif(id) {\n\t\treturn root.getElementById?.(id) || document.getElementById(id);\n\t}\n\n\treturn root.querySelector?.(\"[data-navigation-drawer]\") || document.querySelector(\"[data-navigation-drawer]\");\n}\n\nfunction open(drawer, toggle) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.add(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"false\");\n\tdrawer.removeAttribute(\"inert\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"true\");\n\tdocument.body.classList.add(\"nav-drawer-open\");\n\n\tconst firstControl = drawer.querySelector(\"[data-navigation-close], a, button, input, select, textarea\");\n\tfirstControl?.focus?.();\n}\n\nfunction close(drawer, toggle, shouldRestoreFocus = true) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.remove(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.setAttribute(\"inert\", \"\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"false\");\n\tdocument.body.classList.remove(\"nav-drawer-open\");\n\n\tif(shouldRestoreFocus) {\n\t\ttoggle?.focus?.();\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst toggle = event.target.closest(\"[data-navigation-toggle]\");\n\n\t\tif(!toggle) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = getDrawerForToggle(toggle, root);\n\n\t\tif(drawer?.classList.contains(\"is-open\")) {\n\t\t\tclose(drawer, toggle);\n\t\t} else {\n\t\t\topen(drawer, toggle);\n\t\t}\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst closeControl = event.target.closest(\"[data-navigation-close], [data-navigation-link], .nav-drawer .list-action\");\n\n\t\tif(!closeControl) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = closeControl.closest(\"[data-navigation-drawer]\") || root.querySelector(\"[data-navigation-drawer]\");\n\t\tconst toggle = drawer?.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\tconst shouldRestoreFocus = !closeControl.matches(\"[data-navigation-link]\");\n\t\tclose(drawer, toggle, shouldRestoreFocus);\n\t});\n\n\tdocument.addEventListener(\"keydown\", event => {\n\t\tif(event.key !== \"Escape\") {\n\t\t\treturn;\n\t\t}\n\n\t\troot.querySelectorAll(\"[data-navigation-drawer].is-open\").forEach(drawer => {\n\t\t\tconst toggle = drawer.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\t\tclose(drawer, toggle);\n\t\t});\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\topen,\n\tclose\n};\n", "const initializedRoots = new WeakSet();\nlet keyboardDismissInitialized = false;\n\nfunction closeNode(node) {\n\tnode.classList.remove(\"is-open\");\n\tnode.querySelectorAll(\"[aria-expanded='true']\").forEach(trigger => {\n\t\ttrigger.setAttribute(\"aria-expanded\", \"false\");\n\t});\n}\n\nfunction closeAll(except = null) {\n\tdocument.querySelectorAll(\".dropdown.is-open, .popover.is-open, .tooltip.is-open\").forEach(node => {\n\t\tif(node !== except) {\n\t\t\tcloseNode(node);\n\t\t}\n\t});\n}\n\nfunction initDropdowns(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-dropdown-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst dropdown = trigger.closest(\".dropdown\");\n\n\t\tif(!dropdown) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = dropdown.classList.contains(\"is-open\");\n\t\tcloseAll(dropdown);\n\t\tdropdown.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initPopovers(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-popover-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst popover = trigger.closest(\".popover\");\n\n\t\tif(!popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = popover.classList.contains(\"is-open\");\n\t\tcloseAll(popover);\n\t\tpopover.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initTooltips(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-tooltip-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tooltip = trigger.closest(\".tooltip\");\n\n\t\tif(!tooltip) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = tooltip.classList.contains(\"is-open\");\n\t\tcloseAll(tooltip);\n\t\ttooltip.classList.toggle(\"is-open\", !isOpen);\n\t});\n}\n\nfunction initDismiss(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tif(event.target.closest(\".dropdown, .popover, .tooltip\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseAll();\n\t});\n\n\tif(!keyboardDismissInitialized) {\n\t\tdocument.addEventListener(\"keydown\", event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tcloseAll();\n\t\t\t}\n\t\t});\n\n\t\tkeyboardDismissInitialized = true;\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\tinitDropdowns(root);\n\tinitPopovers(root);\n\tinitTooltips(root);\n\tinitDismiss(root);\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tcloseAll\n};\n", "const initializedRoots = new WeakSet();\nconst fileUploadState = new WeakMap();\n\nfunction getFileKey(file) {\n\treturn `${file.name}:${file.size}:${file.lastModified}`;\n}\n\nfunction clearFilePreviews(previewNode) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tpreviewNode.querySelectorAll(\"img[data-object-url]\").forEach(image => {\n\t\tURL.revokeObjectURL(image.dataset.objectUrl);\n\t});\n\tpreviewNode.innerHTML = \"\";\n\tpreviewNode.hidden = true;\n}\n\nfunction getStoredFiles(input) {\n\treturn fileUploadState.get(input) || [];\n}\n\nfunction setStoredFiles(input, files) {\n\tfileUploadState.set(input, files);\n\n\tconst transfer = new DataTransfer();\n\tfiles.forEach(file => transfer.items.add(file));\n\tinput.files = transfer.files;\n}\n\nfunction addStoredFiles(input, files) {\n\tconst storedFiles = getStoredFiles(input);\n\tconst knownKeys = new Set(storedFiles.map(getFileKey));\n\tconst nextFiles = [...storedFiles];\n\n\tfiles.forEach(file => {\n\t\tconst key = getFileKey(file);\n\n\t\tif(!knownKeys.has(key)) {\n\t\t\tknownKeys.add(key);\n\t\t\tnextFiles.push(file);\n\t\t}\n\t});\n\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction removeStoredFile(input, index) {\n\tconst nextFiles = getStoredFiles(input).filter((file, fileIndex) => fileIndex !== index);\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction getFileType(file) {\n\tconst nameParts = file.name.split(\".\");\n\tconst extension = nameParts.length > 1 ? nameParts.pop().trim() : \"\";\n\n\tif(extension) {\n\t\treturn extension.slice(0, 6).toUpperCase();\n\t}\n\n\tif(file.type) {\n\t\treturn file.type.split(\"/\").pop().slice(0, 6).toUpperCase();\n\t}\n\n\treturn \"FILE\";\n}\n\nfunction formatBytes(bytes) {\n\tif(!Number.isFinite(bytes)) {\n\t\treturn \"\";\n\t}\n\n\tif(bytes === 0) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n\tconst value = bytes / Math.pow(1024, index);\n\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nfunction updateFileUpload(input) {\n\tconst container = input.closest(\".file-upload-panel, .file-upload\");\n\tconst previewNode = container?.querySelector(\"[data-file-upload-preview]\");\n\n\tif(!container || !previewNode) {\n\t\treturn;\n\t}\n\n\tconst files = getStoredFiles(input);\n\n\tif(!files.length) {\n\t\tclearFilePreviews(previewNode);\n\t\treturn;\n\t}\n\n\tupdateFilePreviews(previewNode, files);\n}\n\nfunction updateFilePreviews(previewNode, files) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tclearFilePreviews(previewNode);\n\n\tfiles.forEach((file, index) => {\n\t\tconst figure = document.createElement(\"figure\");\n\t\tfigure.className = \"file-upload-preview-item\";\n\t\tfigure.dataset.fileUploadIndex = String(index);\n\n\t\tconst preview = document.createElement(\"div\");\n\t\tpreview.className = \"file-upload-preview-visual\";\n\n\t\tif(file.type.startsWith(\"image/\")) {\n\t\t\tconst image = document.createElement(\"img\");\n\t\t\tconst objectUrl = URL.createObjectURL(file);\n\t\t\timage.src = objectUrl;\n\t\t\timage.dataset.objectUrl = objectUrl;\n\t\t\timage.alt = \"\";\n\t\t\timage.loading = \"lazy\";\n\t\t\tpreview.append(image);\n\t\t} else {\n\t\t\tconst type = document.createElement(\"span\");\n\t\t\ttype.className = \"file-upload-preview-type\";\n\t\t\ttype.textContent = getFileType(file);\n\t\t\tpreview.append(type);\n\t\t}\n\n\t\tconst caption = document.createElement(\"figcaption\");\n\n\t\tconst name = document.createElement(\"span\");\n\t\tname.className = \"file-upload-preview-name\";\n\t\tname.textContent = file.name;\n\n\t\tconst meta = document.createElement(\"span\");\n\t\tmeta.className = \"file-upload-preview-meta\";\n\t\tmeta.textContent = `${getFileType(file)} / ${formatBytes(file.size)}`;\n\n\t\tconst remove = document.createElement(\"button\");\n\t\tremove.className = \"file-upload-preview-remove\";\n\t\tremove.type = \"button\";\n\t\tremove.dataset.fileUploadRemove = String(index);\n\t\tremove.setAttribute(\"aria-label\", `Remove ${file.name}`);\n\t\tremove.innerHTML = ``;\n\n\t\tcaption.append(name, meta);\n\t\tfigure.append(remove, preview, caption);\n\t\tpreviewNode.append(figure);\n\t});\n\n\tpreviewNode.hidden = false;\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst clearButton = event.target.closest(\"[data-input-clear]\");\n\n\t\tif(!clearButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group = clearButton.closest(\".input-group\");\n\t\tconst input = group?.querySelector(\"input, textarea\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\t\tinput.focus();\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst removeButton = event.target.closest(\"[data-file-upload-remove]\");\n\n\t\tif(!removeButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = removeButton.closest(\".file-upload-panel, .file-upload\");\n\t\tconst input = container?.querySelector(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tremoveStoredFile(input, Number(removeButton.dataset.fileUploadRemove));\n\t\tupdateFileUpload(input);\n\t\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst input = event.target.closest(\"[data-date-picker]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.focus();\n\n\t\tif(typeof input.showPicker === \"function\") {\n\t\t\ttry {\n\t\t\t\tinput.showPicker();\n\t\t\t} catch(error) {\n\t\t\t\t// Some browsers restrict showPicker() to direct user gestures or supported input types.\n\t\t\t}\n\t\t}\n\t});\n\n\troot.addEventListener(\"change\", event => {\n\t\tconst input = event.target.closest(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\taddStoredFiles(input, Array.from(input.files || []));\n\t\tupdateFileUpload(input);\n\t});\n\n\troot.addEventListener(\"reset\", event => {\n\t\tconst form = event.target.closest(\"form\");\n\n\t\tif(!form) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tform.querySelectorAll(\"[data-file-upload-input]\").forEach(input => {\n\t\t\t\tsetStoredFiles(input, []);\n\t\t\t\tupdateFileUpload(input);\n\t\t\t});\n\t\t}, 0);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tupdateFileUpload\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getPanel(details) {\n\treturn details.querySelector(\".accordion-panel\");\n}\n\nfunction prepareOpenPanel(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel) {\n\t\treturn;\n\t}\n\n\tpanel.style.height = \"auto\";\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n}\n\nfunction expand(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tdetails.open = true;\n\tpanel.style.height = \"0px\";\n\tpanel.style.opacity = \"0\";\n\tpanel.style.transform = \"translateY(-8px)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = `${panel.scrollHeight}px`;\n\t\tpanel.style.opacity = \"1\";\n\t\tpanel.style.transform = \"translateY(0)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tpanel.style.height = \"auto\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction collapse(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tpanel.style.height = `${panel.scrollHeight}px`;\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = \"0px\";\n\t\tpanel.style.opacity = \"0\";\n\t\tpanel.style.transform = \"translateY(-8px)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tdetails.open = false;\n\t\tpanel.style.height = \"\";\n\t\tpanel.style.opacity = \"\";\n\t\tpanel.style.transform = \"\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction toggle(details) {\n\tif(details.open) {\n\t\tcollapse(details);\n\t} else {\n\t\texpand(details);\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".accordion-item[open], .disclosure[open]\").forEach(prepareOpenPanel);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst summary = event.target.closest(\".accordion-summary\");\n\n\t\tif(!summary) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst details = summary.closest(\".accordion-item, .disclosure\");\n\n\t\tif(!details) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\ttoggle(details);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\texpand,\n\tcollapse,\n\ttoggle\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getTabs(root) {\n\treturn [...root.querySelectorAll('[role=\"tab\"], .tab')];\n}\n\nfunction getPanels(root) {\n\treturn [...root.querySelectorAll('[role=\"tabpanel\"], .tab-panel')];\n}\n\nfunction getPanel(root, tab) {\n\tconst panelId = tab.getAttribute(\"aria-controls\");\n\n\tif(!panelId) {\n\t\treturn null;\n\t}\n\n\treturn root.querySelector(`#${CSS.escape(panelId)}`);\n}\n\nfunction setTabState(tab, isActive) {\n\ttab.classList.toggle(\"tab-active\", isActive);\n\ttab.setAttribute(\"aria-selected\", isActive ? \"true\" : \"false\");\n\ttab.setAttribute(\"tabindex\", isActive ? \"0\" : \"-1\");\n}\n\nfunction setPanelState(panel, isActive) {\n\tpanel.classList.toggle(\"tab-panel-active\", isActive);\n\tpanel.toggleAttribute(\"hidden\", !isActive);\n}\n\nfunction activate(tab, options = {}) {\n\tif(!tab || tab.disabled || tab.getAttribute(\"aria-disabled\") === \"true\") {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\n\tif(!root) {\n\t\treturn;\n\t}\n\n\tgetTabs(root).forEach(item => setTabState(item, item === tab));\n\tgetPanels(root).forEach(panel => setPanelState(panel, false));\n\n\tconst panel = getPanel(root, tab);\n\n\tif(panel) {\n\t\tsetPanelState(panel, true);\n\t}\n\n\tif(options.focus !== false) {\n\t\ttab.focus();\n\t}\n}\n\nfunction getNextEnabledTab(tabs, activeIndex, direction) {\n\tfor(let offset = 1; offset <= tabs.length; offset++) {\n\t\tconst index = (activeIndex + (offset * direction) + tabs.length) % tabs.length;\n\t\tconst tab = tabs[index];\n\n\t\tif(!tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\") {\n\t\t\treturn tab;\n\t\t}\n\t}\n\n\treturn tabs[activeIndex];\n}\n\nfunction handleKeydown(event) {\n\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\tif(!tab) {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\tconst tabs = root ? getTabs(root) : [];\n\tconst activeIndex = tabs.indexOf(tab);\n\n\tif(activeIndex < 0) {\n\t\treturn;\n\t}\n\n\tlet nextTab = null;\n\n\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, 1);\n\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, -1);\n\t} else if(event.key === \"Home\") {\n\t\tnextTab = getNextEnabledTab(tabs, -1, 1);\n\t} else if(event.key === \"End\") {\n\t\tnextTab = getNextEnabledTab(tabs, 0, -1);\n\t}\n\n\tif(!nextTab) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\tactivate(nextTab);\n}\n\nfunction prepare(root) {\n\tconst tabs = getTabs(root);\n\tconst activeTab = tabs.find(tab => tab.classList.contains(\"tab-active\") || tab.getAttribute(\"aria-selected\") === \"true\")\n\t\t|| tabs.find(tab => !tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\");\n\n\ttabs.forEach(tab => {\n\t\ttab.setAttribute(\"role\", \"tab\");\n\t\tsetTabState(tab, tab === activeTab);\n\t});\n\n\troot.querySelectorAll(\".tabs-list\").forEach(list => {\n\t\tlist.setAttribute(\"role\", \"tablist\");\n\t});\n\n\tgetPanels(root).forEach(panel => {\n\t\tpanel.setAttribute(\"role\", \"tabpanel\");\n\t\tsetPanelState(panel, activeTab ? panel === getPanel(root, activeTab) : panel.classList.contains(\"tab-panel-active\"));\n\t});\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".tabs\").forEach(prepare);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\t\tif(!tab || !root.contains(tab)) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tactivate(tab, { focus: false });\n\t});\n\n\troot.addEventListener(\"keydown\", handleKeydown);\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tactivate\n};\n", "export default function demoNavigation() {\n const navItems = [...document.querySelectorAll(\".nav-drawer .list-item\")];\n const sections = [...document.querySelectorAll(\".docs-content .section[id]\")];\n const currentSection = document.querySelector(\"[data-docs-current-section]\");\n\n if (!navItems.length || !sections.length) {\n return;\n }\n\n const setActive = id => {\n navItems.forEach(item => {\n const link = item.querySelector(\".list-action\");\n const isActive = link?.getAttribute(\"href\") === `#${id}`;\n item.classList.toggle(\"list-item-active\", isActive);\n\n if (isActive && currentSection) {\n currentSection.textContent = link.querySelector(\".list-label\")?.textContent.trim() || id;\n }\n });\n };\n\n const getActiveSection = () => {\n const anchor = Math.min(window.innerHeight * 0.35, 280);\n let active = sections[0];\n\n for (const section of sections) {\n const rect = section.getBoundingClientRect();\n\n if (rect.top <= anchor) {\n active = section;\n } else {\n break;\n }\n }\n\n return active;\n };\n\n let ticking = false;\n\n const updateActive = () => {\n ticking = false;\n const active = getActiveSection();\n\n if (active?.id) {\n setActive(active.id);\n }\n };\n\n const requestUpdate = () => {\n if (ticking) {\n return;\n }\n\n ticking = true;\n window.requestAnimationFrame(updateActive);\n };\n\n window.addEventListener(\"scroll\", requestUpdate, { passive: true });\n window.addEventListener(\"resize\", requestUpdate);\n\n if (window.location.hash) {\n setActive(window.location.hash.slice(1));\n } else {\n updateActive();\n }\n}\n", "function fallbackCopy(text) {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.setAttribute(\"readonly\", \"readonly\");\n textarea.style.position = \"fixed\";\n textarea.style.opacity = \"0\";\n document.body.append(textarea);\n textarea.select();\n document.execCommand(\"copy\");\n textarea.remove();\n}\n\nfunction escapeHtml(text) {\n return text\n .replace(/&/g, \"&\")\n .replace(//g, \">\");\n}\n\nfunction highlightJavascript(code) {\n const source = code.textContent;\n const tokens = /\\/\\/.*$|\\/\\*[\\s\\S]*?\\*\\/|`(?:\\\\[\\s\\S]|[^`\\\\])*`|'(?:\\\\.|[^'\\\\])*'|\"(?:\\\\.|[^\"\\\\])*\"|\\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\\b|\\b\\d+(?:\\.\\d+)?\\b|\\b[A-Za-z_$][\\w$]*(?=\\s*\\()/gm;\n let html = \"\";\n let cursor = 0;\n let match;\n\n while ((match = tokens.exec(source)) !== null) {\n const token = match[0];\n html += escapeHtml(source.slice(cursor, match.index));\n\n if (token.startsWith(\"//\") || token.startsWith(\"/*\")) {\n html += `${escapeHtml(token)}`;\n } else if (token.startsWith(\"\\\"\") || token.startsWith(\"'\") || token.startsWith(\"`\")) {\n html += `${escapeHtml(token)}`;\n } else if (/^\\d/.test(token)) {\n html += `${escapeHtml(token)}`;\n } else if (/^[A-Za-z_$][\\w$]*$/.test(token) && source[match.index + token.length]?.match(/\\s|\\(/)) {\n const keyword = /^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(token);\n html += keyword\n ? `${token}`\n : `${token}`;\n } else {\n html += escapeHtml(token);\n }\n\n cursor = match.index + token.length;\n }\n\n html += escapeHtml(source.slice(cursor));\n code.innerHTML = html;\n code.classList.add(\"hljs\");\n}\n\nfunction highlightCode() {\n document.querySelectorAll(\"code.language-js, code.language-javascript\").forEach(highlightJavascript);\n\n if (window.hljs) {\n document\n .querySelectorAll(\"code:not(.language-js):not(.language-javascript)\")\n .forEach(code => window.hljs.highlightElement(code));\n }\n}\n\nexport default function codeExamples() {\n highlightCode();\n\n document.querySelectorAll(\".code-example-copy\").forEach(button => {\n button.addEventListener(\"click\", async () => {\n const example = button.closest(\".code-example\");\n const code = example?.querySelector(\"code\");\n const text = code?.textContent ?? \"\";\n const originalText = button.textContent;\n\n if (!text) {\n return;\n }\n\n try {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n } else {\n fallbackCopy(text);\n }\n\n button.textContent = \"Copied\";\n } catch (err) {\n fallbackCopy(text);\n button.textContent = \"Copied\";\n }\n\n setTimeout(() => {\n button.textContent = originalText;\n }, 1200);\n });\n });\n}\n"], - "mappings": "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", + "sourcesContent": ["import Helper from \"./components/helper.js\";\nimport Toasts from \"./components/toasts.js\";\nimport Modals from \"./components/modals.js\";\nimport advancedSelect from \"./components/advanced-select.js\";\nimport editableString from \"./components/editable-string.js\";\nimport confirmPopup from \"./components/confirm-popup.js\";\nimport Drawer from \"./components/drawer.js\";\nimport NavigationShell from \"./components/navigation-shell.js\";\nimport Overlays from \"./components/overlays.js\";\nimport InputPatterns from \"./components/input-patterns.js\";\nimport Accordion from \"./components/accordion.js\";\nimport Tabs from \"./components/tabs.js\";\nimport demoNavigation from \"./demo-navigation.js\";\nimport codeExamples from \"./code-examples.js\";\n\nconst api = {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nwindow.GNexusUIKit = api;\nObject.assign(window, api);\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n Overlays.init();\n NavigationShell.init();\n InputPatterns.init();\n Accordion.init();\n Tabs.init();\n demoNavigation();\n codeExamples();\n});\n\nexport {\n Helper,\n Toasts,\n Modals,\n advancedSelect,\n editableString,\n confirmPopup,\n Drawer,\n NavigationShell,\n Overlays,\n InputPatterns,\n Accordion,\n Tabs\n};\n\nexport default api;\n", "function sidebarNav(items) {\n\tlet listItems = \"\";\n\n\tfor(let item of items) {\n\t\tlet aOpen = \"\";\n\t\tlet aClose = \"\";\n\t\tif(item.route) {\n\t\t\taOpen = ``;\n\t\t\taClose = ``;\n\t\t}\n\n\t\tlistItems += `\n\t\t\t
  • \n\t\t\t\t${aOpen}${item.content}${aClose}\n\t\t\t
  • \n\t\t`;\n\t}\n\n\treturn `\n\t\t
    \n\t\t\t
      \n\t\t\t\t${listItems} \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction table(caption, columns, data, tfoot) {\n\tlet head = ``;\n\tlet totalColumns = 0;\n\tfor(let key in columns) {\n\t\thead += `${columns[key]}`;\n\t\ttotalColumns++;\n\t}\n\thead += \"\";\n\n\tlet body = ``;\n\tfor(let item of data) {\n\t\tbody += ``;\n\t\tfor(let column in columns) {\n\t\t\tbody += `${item[column]}`;\n\t\t}\n\t\tbody += ``;\n\t}\n\n\tlet foot = \"\";\n\tif(typeof tfoot != \"undefined\") {\n\t\tfoot = `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t${tfoot}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tconst tableCaption = caption \n\t\t? `${caption}`\n\t\t: '';\n\n\tconst tableHead = data.length \n\t\t? `${head}`\n\t\t: '';\n\n\tbody = data.length\n\t\t? body\n\t\t: `Empty`;\n\n\tconst tableEmptyClass = !data.length \n\t\t? \"table-empty\"\n\t\t: \"\";\n\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\t\t${tableCaption}\n\t\t\t\t${tableHead}\n\t\t\t\t${body}\n\t\t\t\t${foot}\n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction createElement(type, props, content) {\n\tconst node = document.createElement(type);\n\n\tfor (const [key, value] of Object.entries(props)) {\n\t\tif (key === \"class\") {\n\t\t\tnode.className = value;\n\t\t} else if (key === \"dataset\") {\n\t\t\tObject.assign(node.dataset, value);\n\t\t} else {\n\t\t\tnode.setAttribute(key, value);\n\t\t}\n\t}\n\n\tnode.innerHTML = (typeof content != \"undefined\") ? content : \"\";\n\treturn node; \n}\n\nfunction createAlert(type, content) {\n\tif([\"primary\", \"success\", \"secondary\", \"info\", \"warning\", \"error\", \"danger\"].indexOf(type) < 0) {\n\t\treturn console.error(\"createAlert()\", \"Error of type: \" + type);\n\t}\n\n\treturn createElement(\"div\", {\n\t\tclass: `alert alert-${type}`,\n\t}, content);\n}\n\nfunction fieldsUnification(data, map = {}) {\n\tconst dataObj = {};\n\n\tfor(let field in data) {\n\t\tif(typeof map[field] != \"undefined\") {\n\t\t\tdataObj[ map[field] ] = data[field];\n\t\t\tcontinue;\n\t\t}\n\n\t\tdataObj[field] = data[field];\n\t}\n\n\treturn dataObj;\n}\n\nfunction btnLoadingState(btn, isLoading) {\n\tif(btn?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tif(isLoading) {\n\t\tbtn.isLoading = true;\n\t\tbtn.originalContent = btn.innerHTML;\n\t\tif(btn.classList.contains(\"with-icon\")) {\n\t\t\tbtn.originalWithIcon = true;\n\t\t} else {\n\t\t\tbtn.classList.add(\"with-icon\");\n\t\t}\n\n\t\tbtn.classList.add(\"loading-state\");\n\t\tbtn.setAttribute(\"disabled\", \"disabled\");\n\t\tbtn.innerHTML = ` Loading`;\n\t} else {\n\t\tbtn.isLoading = false;\n\t\tif(!btn.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tbtn.removeAttribute(\"disabled\");\n\t\tbtn.classList.remove(\"loading-state\");\n\t\tif(!btn.originalWithIcon) {\n\t\t\tbtn.classList.remove(\"with-icon\");\n\t\t}\n\t\tbtn.innerHTML = btn.originalContent;\n\t}\n\n\treturn btn;\n}\n\nfunction cardStatusLoadingState(card, isLoading) {\n\tif(card?.isLoading == isLoading) {\n\t\treturn false;\n\t}\n\n\tconst iconContainer = card.querySelector(\".status-icon\");\n\n\tif(isLoading) {\n\t\tcard.isLoading = true;\n\t\tcard.originalContent = iconContainer.innerHTML;\n\t\tcard.classList.add(\"loading-state\");\n\t\tcard.setAttribute(\"disabled\", \"disabled\");\n\t\ticonContainer.innerHTML = ``;\n\t} else {\n\t\tcard.isLoading = false;\n\t\tif(!card.originalContent) {\n\t\t\treturn false;\n\t\t}\n\t\tcard.removeAttribute(\"disabled\");\n\t\tcard.classList.remove(\"loading-state\");\n\t\ticonContainer.innerHTML = card.originalContent;\n\t}\n\n\treturn card;\n}\n\nfunction mainTemplate(sidebar, content) {\n\tcontent = content ?? \"\";\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${sidebar}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t${content}\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t`;\n}\n\nfunction connectionStatusBadge(status) {\n\treturn status == \"active\"\n\t\t? `Online`\n\t\t: `Offline`;\n}\n\nfunction toogleStateBadge(state) {\n\treturn state == \"enabled\"\n\t\t? `Enabled`\n\t\t: `Disabled`;\n}\n\nfunction timeAgo(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst diff_seconds = Math.floor((now - date) / 1000);\n\n\tif (diff_seconds < 60) {\n\t\treturn \"less than a minute ago\";\n\t}\n\n\tconst minutes = Math.floor(diff_seconds / 60);\n\tconst hours = Math.floor(minutes / 60);\n\tconst days = Math.floor(hours / 24);\n\n\tif (minutes < 60) {\n\t\treturn `${minutes} minute${minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\tif (hours < 24) {\n\t\tconst remain_minutes = minutes % 60;\n\t\treturn `${hours} hour${hours !== 1 ? \"s\" : \"\"} ${remain_minutes} minute${remain_minutes !== 1 ? \"s\" : \"\"} ago`;\n\t}\n\n\treturn `${days} day${days !== 1 ? \"s\" : \"\"} ago`;\n}\n\nfunction formatDate(dateString) {\n\tconst date = new Date(dateString.replace(\" \", \"T\"));\n\tconst now = new Date();\n\n\tconst today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\tconst target_day = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n\tconst diff_days = Math.floor((today - target_day) / 86400000);\n\n\tconst hours = String(date.getHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getMinutes()).padStart(2, \"0\");\n\n\tif (diff_days === 0) {\n\t\treturn `Today at ${hours}:${minutes}`;\n\t}\n\n\tif (diff_days === 1) {\n\t\treturn `Yesterday at ${hours}:${minutes}`;\n\t}\n\n\tconst months = [\n\t\t\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\n\t\t\"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"\n\t];\n\n\treturn `${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()} at ${hours}:${minutes}`;\n}\n\nfunction circleLoaderHTML() {\n\treturn `\n\t\t
    \n\t\t\t\n\t\t\tLoading\n\t\t
    \n\t`;\n}\n\nfunction emptyHereHTML() {\n\treturn `\n\t\t
    \n\t\t\t
    \n\t\t\t

    It's empty here yet

    \n\t\t
    \n\t`;\n}\n\nexport default {\n\ttemplate: {\n\t\tsidebarNav,\n\t\ttable,\n\t\tcreateElement,\n\t\tcreateAlert,\n\t\tmainTemplate,\n\t\tconnectionStatusBadge,\n\t\ttoogleStateBadge,\n\t\tcircleLoaderHTML,\n\t\temptyHereHTML,\n\t},\n\tunification: {\n\t\tfieldsUnification,\n\t\ttimeAgo,\n\t\tformatDate\n\t},\n\tstates: {\n\t\tbtnLoadingState,\n\t\tcardStatusLoadingState\n\t}\n}\n", "function appendIcon(container, icon) {\n\tif(icon instanceof Node) {\n\t\tcontainer.append(icon);\n\t\treturn;\n\t}\n\n\tconst iconWrap = document.createElement(\"span\");\n\ticonWrap.innerHTML = icon;\n\tcontainer.append(...iconWrap.childNodes);\n}\n\nfunction template(type, icon, title, text) {\n\tconst toast = document.createElement(\"div\");\n\ttoast.className = `toast toast-${type}`;\n\ttoast.setAttribute(\"role\", \"alert\");\n\n\tconst content = document.createElement(\"div\");\n\tcontent.className = \"toast-content\";\n\n\tconst toastTitle = document.createElement(\"h4\");\n\ttoastTitle.className = \"toast-title\";\n\tappendIcon(toastTitle, icon);\n\ttoastTitle.append(document.createTextNode(` ${title ?? \"\"}`));\n\n\tconst toastText = document.createElement(\"p\");\n\ttoastText.className = \"toast-text\";\n\ttoastText.textContent = text ?? \"\";\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon toast-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tcontent.append(toastTitle, toastText);\n\ttoast.append(content, close);\n\n\treturn toast;\n}\n\nfunction init(toast, props) {\n\tif(props?.alone) {\n\t\tdocument.querySelectorAll(\".toast\").forEach(i => i.close?.());\n\t}\n\n\ttoast.close = function() {\n\t\tthis.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tthis.remove();\n\t\t}, 300);\n\t}\n\n\ttoast.querySelector(\".toast-close\").addEventListener(\"click\", e => {\n\t\ttoast.close();\n\t});\n\n\ttoast.show = function() {\n\t\tdocument.querySelector(\"body\").append(toast);\n\n\t\tsetTimeout(() => {\n\t\t\ttoast.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\ttoast.addEventListener(\"mouseover\", e => toast.ishovered = true);\n\ttoast.addEventListener(\"mouseout\", e => toast.ishovered = false);\n\n\tif(props?.lifetime) {\n\t\tconst lifetimeInterval = setInterval(() => {\n\t\t\tif(!toast.ishovered) {\n\t\t\t\ttoast.close();\n\t\t\t\tclearInterval(lifetimeInterval);\n\t\t\t}\n\t\t}, props?.lifetime);\n\t}\n\n\treturn toast;\n}\n\nfunction create(type, icon, title, text, props) {\n\treturn init(template(type, icon, title, text), props);\n}\n\nfunction createSuccess(title, text, props) {\n\tif(typeof props == \"undefined\") {\n\t\tprops = {};\n\t}\n\n\tif(typeof props.lifetime == \"undefined\") {\n\t\tprops.lifetime = 4000;\n\t}\n\n\tif(typeof props.alone == \"undefined\") {\n\t\tprops.alone = true;\n\t}\n\n\treturn create(\n\t\t\"success\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createInfo(title, text, props) {\n\treturn create(\n\t\t\"info\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createWarning(title, text, props) {\n\treturn create(\n\t\t\"warning\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nfunction createError(title, text, props) {\n\treturn create(\n\t\t\"danger\", \n\t\t``, \n\t\ttitle, \n\t\ttext,\n\t\tprops\n\t);\n}\n\nexport default {\n create,\n createInfo,\n createSuccess,\n createWarning,\n createError,\n \"createDanger\": createError\n};\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst modal = document.createElement(\"div\");\n\tmodal.className = \"modal\";\n\tmodal.setAttribute(\"aria-hidden\", \"true\");\n\tmodal.id = id;\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"modal-backdrop\";\n\n\tconst dialog = document.createElement(\"div\");\n\tdialog.className = \"modal-dialog\";\n\tdialog.setAttribute(\"role\", \"dialog\");\n\tdialog.setAttribute(\"aria-modal\", \"true\");\n\tdialog.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst panel = document.createElement(\"div\");\n\tpanel.className = \"modal-panel\";\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"modal-header\";\n\n\tconst modalTitle = document.createElement(\"h4\");\n\tmodalTitle.className = \"modal-title\";\n\tmodalTitle.id = `${id}-title`;\n\tmodalTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon modal-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"modal-body\";\n\n\tconst modalFooter = document.createElement(\"footer\");\n\tmodalFooter.className = \"modal-footer\";\n\tappendContent(modalFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(modalTitle, close);\n\tpanel.append(body, modalFooter);\n\tdialog.append(header, panel);\n\tmodal.append(backdrop, dialog);\n\n\treturn modal;\n}\n\nfunction init(modal, onready) {\n\tmodal.show = function() {\n\t\tdocument.querySelector(\"body\").append(modal);\n\n\t\tsetTimeout(() => {\n\t\t\tmodal.classList.add(\"a-show\");\n\t\t}, 10);\n\t}\n\n\tmodal.close = function() {\n\t\tmodal.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tmodal.remove();\n\t\t}, 300);\n\t}\n\n\tmodal.querySelector(\".modal-close\").addEventListener(\"click\", e => {\n\t\tmodal.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(modal);\n\t}\n\n\treturn modal;\n}\n\n\t/**\n\t * Create new modal window;\n\t * @param {string} id Uniq id (selector)\n\t * @param {string} title Display title\n\t * @param {object} props { body: modal => {}, actions => modal => {} }\n\t * @return {object} DOM object\n\t */\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst modal = template(id, title, footer, props);\n\n\tconst modalBody = modal.querySelector(\".modal-body\");\n\tconst modalFooter = modal.querySelector(\".modal-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(modal);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tmodalFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tmodalFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(modal);\n\n\t\tappendContent(modalBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(modalBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(modal, props?.onready);\n}\n\nexport default {\n\tcreate\n}\n", "function scrollToElementInFocus(container) {\n\tconst focus = container.querySelector(\".focus\");\n\tif (!focus) return;\n\n\tconst container_rect = container.getBoundingClientRect();\n\tconst focus_rect = focus.getBoundingClientRect();\n\n\tif (focus_rect.top < container_rect.top) {\n\t\tcontainer.scrollTop -= (container_rect.top - focus_rect.top);\n\t} else if (focus_rect.bottom > container_rect.bottom) {\n\t\tcontainer.scrollTop += (focus_rect.bottom - container_rect.bottom);\n\t}\n}\n\nfunction autoSetState(container) {\n\tconst totalViewed = container.advancedSelect.optionsElements.length - container.querySelectorAll(\".option.hide\").length;\n\tif(totalViewed == 0) {\n\t\tcontainer.advancedSelect.showState(\"not-found\");\n\t} else {\n\t\tcontainer.advancedSelect.showState(\"options\");\n\t}\n}\n\nfunction firstVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide)\");\n}\n\nfunction lastVisibleOption(container) {\n\treturn container.querySelector(\".option:not(.hide):last-child\");\n}\n\nfunction selectOption(input, container, option) {\n\tif(!option) {\n\t\treturn;\n\t}\n\n\tinput.value = option.dataset.displayValue;\n\tinput.blur();\n\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\tcontainer.advancedSelect.dispatchEvent(\"selected\");\n\tcontainer.advancedSelect.closeList();\n}\n\nexport default function advancedSelect(input, options, notFoundText) {\n\tconst container = document.createElement(\"div\");\n\tcontainer.classList.add(\"advanced-select\");\n\n\tconst popup = document.createElement(\"div\");\n\tpopup.className = \"popup-options-container\";\n\n\tconst notFound = document.createElement(\"div\");\n\tnotFound.className = \"not-found\";\n\tnotFound.textContent = notFoundText ?? \"Nothing found\";\n\n\tconst optionsContainer = document.createElement(\"div\");\n\toptionsContainer.className = \"options\";\n\n\tfor(let optionValue in options) {\n\t\tconst option = document.createElement(\"div\");\n\t\toption.className = \"option\";\n\t\toption.dataset.value = optionValue;\n\t\toption.dataset.displayValue = options[optionValue];\n\t\toption.textContent = options[optionValue];\n\t\toptionsContainer.append(option);\n\t}\n\n\tpopup.append(notFound, optionsContainer);\n\tcontainer.append(popup);\n\n\tconst existsOption = (value, options) => {\n\t\tfor(let optionValue in options) {\n\t\t\tif(options[optionValue] == value) {\n\t\t\t\tconst ret = {};\n\t\t\t\tret[optionValue] = options[optionValue];\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcontainer.advancedSelect = {\n\t\tisOpened: false,\n\t\toptions: options,\n\t\teventsHandlers: {\n\t\t\topenList: [],\n\t\t\tcloseList: [],\n\t\t\tselected: [],\n\t\t\tchanged: [],\n\t\t},\n\t\topenList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = true;\n\t\t\tcontainer.classList.add(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"openList\");\n\t\t},\n\t\tcloseList: () => {\n\t\t\tcontainer.advancedSelect.isOpened = false;\n\t\t\tcontainer.classList.remove(\"a-show\");\n\t\t\tautoSetState(container);\n\t\t\tcontainer.advancedSelect.dispatchEvent(\"closeList\");\n\t\t},\n\t\tshowState: stateName => {\n\t\t\tif(stateName == \"options\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.add(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.remove(\"show\");\n\t\t\t} else if(stateName == \"not-found\") {\n\t\t\t\tcontainer.querySelector(\".options\").classList.remove(\"show\");\n\t\t\t\tcontainer.querySelector(\".not-found\").classList.add(\"show\");\n\t\t\t}\n\t\t},\n\t\toptionsElements: container.querySelectorAll(\".option\"),\n\t\tvalue: () => {\n\t\t\tconst option = existsOption(input.value, options);\n\n\t\t\treturn { \n\t\t\t\tinputValue: input.value,\n\t\t\t\tisOption: option ? true : false,\n\t\t\t\toption \n\t\t\t};\n\t\t},\n\t\taddEventListener: (name, handler) => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] != \"undefined\") {\n\t\t\t\treturn container.advancedSelect.eventsHandlers[name].push(handler);\n\t\t\t}\n\n\t\t\tconsole.error(\"Advanced Select component.\", \"addEventListener()\", \"Invalid event name\");\n\t\t},\n\t\tdispatchEvent: name => {\n\t\t\tif(typeof container.advancedSelect.eventsHandlers[name] == \"undefined\") {\n\t\t\t\treturn console.error(\"Advanced Select component.\", \"dispatchEvent()\", \"Invalid event name\");\n\t\t\t}\n\t\t\t\n\t\t\tfor(let eventHandler of container.advancedSelect.eventsHandlers[name]) {\n\t\t\t\teventHandler(container);\n\t\t\t}\n\t\t}\n\t};\n\n\tinput.setAttribute(\"autocomplete\", \"nope\");\n\n\tinput.advancedSelect = {\n\t\tvalue: () => container.advancedSelect.value()\n\t}\n\n\tinput.addEventListener(\"focus\", e => {\n\t\tcontainer.advancedSelect.openList();\n\t});\n\n\tinput.addEventListener(\"blur\", e => {\n\t\trequestAnimationFrame(() => {\n\t\t\tif(!container.matches(\":hover\")) {\n\t\t\t\tcontainer.advancedSelect.closeList();\n\t\t\t}\n\t\t});\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"ArrowUp\") {\n\t\t\te.preventDefault();\n\t\t\t// up\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet prev = current.previousElementSibling;\n\n\t\t\t\twhile (prev) {\n\t\t\t\t\tif (!prev.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tprev = prev.previousElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!prev) {\n\t\t\t\t\tprev = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tprev?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tlastVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"ArrowDown\") {\n\t\t\te.preventDefault();\n\t\t\t// down\n\t\t\tconst current = container.querySelector(\".option.focus\");\n\t\t\tif(current) {\n\t\t\t\tcurrent.classList.remove(\"focus\");\n\t\t\t\tlet next = current.nextElementSibling;\n\n\t\t\t\twhile (next) {\n\t\t\t\t\tif (!next.classList.contains(\"hide\")) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnext = next.nextElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif(!next) {\n\t\t\t\t\tnext = firstVisibleOption(container);\n\t\t\t\t}\n\n\t\t\t\tnext?.classList.add(\"focus\");\n\t\t\t} else {\n\t\t\t\tfirstVisibleOption(container)?.classList.add(\"focus\");\n\t\t\t}\n\n\t\t\tscrollToElementInFocus(container);\n\t\t} else if(e.key === \"Enter\") {\n\t\t\te.preventDefault();\n\t\t\tlet selected = container.querySelector(\".option.focus\");\n\t\t\tselectOption(input, container, selected);\n\t\t} else if(e.key === \"Escape\") {\n\t\t\tcontainer.advancedSelect.closeList();\n\t\t\tinput.blur();\n\t\t}\n\t});\n\n\tinput.addEventListener(\"input\", e => {\n\t\tconst val = e.currentTarget.value.toLowerCase();\n\t\tif(val == \"\") {\n\t\t\tcontainer.advancedSelect.optionsElements.forEach(i => i.classList.remove(\"hide\"));\n\t\t} else {\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) != -1)\n\t\t\t\t.forEach(i => i.classList.remove(\"hide\"));\n\n\t\t\t[ ...container.advancedSelect.optionsElements ]\n\t\t\t\t.filter(i => i.dataset.displayValue.toLowerCase().indexOf(val) == -1)\n\t\t\t\t.forEach(i => i.classList.add(\"hide\"));\n\n\t\t\tautoSetState(container);\n\n\t\t\tcontainer.querySelector(\".option.focus\")?.classList.remove(\"focus\");\n\t\t}\n\t});\n\n\tinput.addEventListener(\"change\", e => {\n\t\tcontainer.advancedSelect.dispatchEvent(\"changed\");\n\t});\n\n\t[ ...container.advancedSelect.optionsElements ].forEach(option => {\n\t\toption.addEventListener(\"pointerdown\", e => {\n\t\t\te.preventDefault();\n\t\t\tselectOption(input, container, e.currentTarget);\n\t\t});\n\t});\n\n\treturn container;\n}\n", "import Helper from \"./helper.js\";\n\nfunction template(originalText, isMultiString) {\n\tconst placeholder = \"Write something\";\n\tconst input = !isMultiString \n\t\t? ``\n\t\t: ``;\n\n\treturn `\n\t\t
    \n\t\t\t${originalText}\n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \n\t`;\n}\n\nexport default function editableString(stringContainer, isMultiString) {\n\tisMultiString = isMultiString ?? false;\n\n\tconst originalText = stringContainer.innerHTML;\n\n\tconst component = Helper.template.createElement(\"div\", {\n\t\t\"class\": \"component editable-string-component\"\n\t}, template(originalText, isMultiString));\n\n\tstringContainer.innerHTML = \"\";\n\tstringContainer.append(component);\n\n\tconst editBtn = component.querySelector(\".edit-text-btn\");\n\tconst applyBtn = component.querySelector(\".apply-changes-btn\");\n\tconst cancelBtn = component.querySelector(\".cancel-changes-btn\");\n\tconst content = component.querySelector(\".editable-string-content\");\n\tconst editableString = component.querySelector(\".editable-string\");\n\tconst form = component.querySelector(\".editable-string-form\");\n\tconst input = component.querySelector(\".input\");\n\n\tcomponent.editableString = {\n\t\tformIsDisplaying: false,\n\t\tvalue: originalText,\n\t\tinput: input,\n\t\teventsHandlers: {\n\t\t\tonChange: [],\n\t\t\tonSwitch: [],\n\t\t},\n\t\tswitch: () => {\n\t\t\tif(component.formIsDisplaying) {\n\t\t\t\tform.classList.add(\"d-none\");\n\t\t\t\tcontent.classList.remove(\"d-none\");\n\t\t\t\teditableString.innerText = component.editableString.value;\n\t\t\t} else {\n\t\t\t\tform.classList.remove(\"d-none\");\n\t\t\t\tcontent.classList.add(\"d-none\");\n\t\t\t\tinput.value = component.editableString.value;\n\t\t\t}\n\n\t\t\tcomponent.formIsDisplaying = !component.formIsDisplaying;\n\t\t\tcomponent.editableString.runEventHandler(\"onSwitch\");\n\t\t},\n\t\tsetValue: val => {\n\t\t\tcomponent.editableString.value = val;\n\t\t\tinput.value = val;\n\t\t\teditableString.innerText = val;\n\t\t},\n\t\tapply: () => {\n\t\t\tcomponent.editableString.value = input.value;\n\t\t\tcomponent.editableString.switch();\n\t\t\tif(input.value != originalText) {\n\t\t\t\tcomponent.editableString.runEventHandler(\"onChange\");\n\t\t\t}\n\t\t},\n\t\tonChange: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onChange.push(cb);\n\t\t},\n\t\tonSwitch: cb => {\n\t\t\tcomponent.editableString.eventsHandlers.onSwitch.push(cb);\n\t\t},\n\t\trunEventHandler: evName => {\n\t\t\tcomponent.editableString.eventsHandlers[evName].forEach(handler => handler(component.editableString));\n\t\t} \n\t}\n\n\teditBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tcancelBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.switch();\n\t});\n\n\tapplyBtn.addEventListener(\"click\", e => {\n\t\tcomponent.editableString.apply();\n\t});\n\n\tinput.addEventListener(\"keydown\", e => {\n\t\tif(e.key === \"Enter\") {\n\t\t\tinput.blur();\n\t\t\tcomponent.editableString.apply();\n\t\t}\n\t});\n\n\treturn component;\n}\n", "import Helper from \"./helper.js\";\nimport Modals from \"./modals.js\";\n\nexport default function confirmPopup(text, confirmedCb, canceledCb) {\n\tModals.create(\"confirm-popup\", {\n\t\ttitle: `Requires confirmation`,\n\t\tbody: () => {\n\t\t\tconst paragraph = document.createElement(\"p\");\n\t\t\tparagraph.textContent = text ?? \"\";\n\t\t\treturn paragraph;\n\t\t},\n\t\tactions: modal => {\n\t\t\tconst buttonNO = Helper.template.createElement(\"button\", { class: \"btn btn-primary\" }, \"NO\");\n\t\t\tconst buttonYES = Helper.template.createElement(\"button\", { class: \"btn btn-warning\" }, \"YES\");\n\n\t\t\tbuttonNO.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tcanceledCb?.();\n\t\t\t});\n\n\t\t\tbuttonYES.addEventListener(\"click\", e => {\n\t\t\t\tmodal.close();\n\t\t\t\tconfirmedCb?.();\n\t\t\t});\n\n\t\t\treturn [ buttonNO, buttonYES ];\n\t\t}\n\t}).show();\n}\n", "function appendContent(container, content, mode = \"html\") {\n\tif(content instanceof Node) {\n\t\tcontainer.append(content);\n\t\treturn;\n\t}\n\n\tif(typeof content != \"undefined\" && content !== null) {\n\t\tif(mode === \"text\") {\n\t\t\tcontainer.textContent = content;\n\t\t} else {\n\t\t\tcontainer.innerHTML = content;\n\t\t}\n\t}\n}\n\nfunction template(id, title, footer, props = {}) {\n\tconst drawer = document.createElement(\"div\");\n\tdrawer.className = \"drawer\";\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.id = id;\n\n\tif(props.position === \"left\") {\n\t\tdrawer.classList.add(\"drawer-left\");\n\t}\n\n\tconst backdrop = document.createElement(\"div\");\n\tbackdrop.className = \"drawer-backdrop\";\n\n\tconst panel = document.createElement(\"aside\");\n\tpanel.className = \"drawer-panel\";\n\tpanel.setAttribute(\"role\", \"dialog\");\n\tpanel.setAttribute(\"aria-modal\", \"true\");\n\tpanel.setAttribute(\"aria-labelledby\", `${id}-title`);\n\n\tconst header = document.createElement(\"header\");\n\theader.className = \"drawer-header\";\n\n\tconst drawerTitle = document.createElement(\"h4\");\n\tdrawerTitle.className = \"drawer-title\";\n\tdrawerTitle.id = `${id}-title`;\n\tdrawerTitle.textContent = title;\n\n\tconst close = document.createElement(\"button\");\n\tclose.className = \"btn-icon drawer-close\";\n\tclose.type = \"button\";\n\tclose.setAttribute(\"aria-label\", \"Close\");\n\tclose.textContent = \"\u2715\";\n\n\tconst body = document.createElement(\"div\");\n\tbody.className = \"drawer-body\";\n\n\tconst drawerFooter = document.createElement(\"footer\");\n\tdrawerFooter.className = \"drawer-footer\";\n\tappendContent(drawerFooter, footer, props.footerMode ?? \"html\");\n\n\theader.append(drawerTitle, close);\n\tpanel.append(header, body, drawerFooter);\n\tdrawer.append(backdrop, panel);\n\n\treturn drawer;\n}\n\nfunction init(drawer, onready) {\n\tdrawer.show = function() {\n\t\tdocument.querySelector(\"body\").append(drawer);\n\n\t\tsetTimeout(() => {\n\t\t\tdrawer.classList.add(\"a-show\");\n\t\t}, 10);\n\t};\n\n\tdrawer.close = function() {\n\t\tdrawer.classList.add(\"a-hide\");\n\t\tsetTimeout(() => {\n\t\t\tdrawer.remove();\n\t\t}, 300);\n\t};\n\n\tdrawer.querySelector(\".drawer-close\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tdrawer.querySelector(\".drawer-backdrop\").addEventListener(\"click\", () => {\n\t\tdrawer.close();\n\t});\n\n\tif(typeof onready == \"function\") {\n\t\tonready(drawer);\n\t}\n\n\treturn drawer;\n}\n\nfunction create(id, props) {\n\tprops = props ?? {};\n\tconst title = props.title || \"\";\n\tconst footer = props.footer || \"\";\n\n\tconst drawer = template(id, title, footer, props);\n\n\tconst drawerBody = drawer.querySelector(\".drawer-body\");\n\tconst drawerFooter = drawer.querySelector(\".drawer-footer\");\n\n\tif(typeof props.actions == \"function\") {\n\t\tconst actionsResult = props.actions(drawer);\n\n\t\tif(Array.isArray(actionsResult) && actionsResult[0] instanceof Node) {\n\t\t\tconst actions = document.createElement(\"div\");\n\t\t\tactions.classList.add(\"actions\");\n\t\t\tfor(let actionElement of actionsResult) {\n\t\t\t\tactions.append(actionElement);\n\t\t\t}\n\n\t\t\tdrawerFooter.append(actions);\n\t\t} else if(actionsResult instanceof Node) {\n\t\t\tdrawerFooter.append(actionsResult);\n\t\t}\n\t}\n\n\tif(typeof props.body == \"function\") {\n\t\tconst bodyResult = props.body(drawer);\n\n\t\tappendContent(drawerBody, bodyResult, props.bodyMode ?? \"html\");\n\t} else if(typeof props.bodyText != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyText, \"text\");\n\t} else if(typeof props.bodyHtml != \"undefined\") {\n\t\tappendContent(drawerBody, props.bodyHtml, \"html\");\n\t}\n\n\treturn init(drawer, props?.onready);\n}\n\nexport default {\n\tcreate\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getDrawerForToggle(toggle, root) {\n\tconst id = toggle.getAttribute(\"aria-controls\");\n\n\tif(id) {\n\t\treturn root.getElementById?.(id) || document.getElementById(id);\n\t}\n\n\treturn root.querySelector?.(\"[data-navigation-drawer]\") || document.querySelector(\"[data-navigation-drawer]\");\n}\n\nfunction open(drawer, toggle) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.add(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"false\");\n\tdrawer.removeAttribute(\"inert\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"true\");\n\tdocument.body.classList.add(\"nav-drawer-open\");\n\n\tconst firstControl = drawer.querySelector(\"[data-navigation-close], a, button, input, select, textarea\");\n\tfirstControl?.focus?.();\n}\n\nfunction close(drawer, toggle, shouldRestoreFocus = true) {\n\tif(!drawer) {\n\t\treturn;\n\t}\n\n\tdrawer.classList.remove(\"is-open\");\n\tdrawer.setAttribute(\"aria-hidden\", \"true\");\n\tdrawer.setAttribute(\"inert\", \"\");\n\ttoggle?.setAttribute(\"aria-expanded\", \"false\");\n\tdocument.body.classList.remove(\"nav-drawer-open\");\n\n\tif(shouldRestoreFocus) {\n\t\ttoggle?.focus?.();\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst toggle = event.target.closest(\"[data-navigation-toggle]\");\n\n\t\tif(!toggle) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = getDrawerForToggle(toggle, root);\n\n\t\tif(drawer?.classList.contains(\"is-open\")) {\n\t\t\tclose(drawer, toggle);\n\t\t} else {\n\t\t\topen(drawer, toggle);\n\t\t}\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst closeControl = event.target.closest(\"[data-navigation-close], [data-navigation-link], .nav-drawer .list-action\");\n\n\t\tif(!closeControl) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst drawer = closeControl.closest(\"[data-navigation-drawer]\") || root.querySelector(\"[data-navigation-drawer]\");\n\t\tconst toggle = drawer?.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\tconst shouldRestoreFocus = !closeControl.matches(\"[data-navigation-link]\");\n\t\tclose(drawer, toggle, shouldRestoreFocus);\n\t});\n\n\tdocument.addEventListener(\"keydown\", event => {\n\t\tif(event.key !== \"Escape\") {\n\t\t\treturn;\n\t\t}\n\n\t\troot.querySelectorAll(\"[data-navigation-drawer].is-open\").forEach(drawer => {\n\t\t\tconst toggle = drawer.id ? root.querySelector(`[data-navigation-toggle][aria-controls=\"${drawer.id}\"]`) : root.querySelector(\"[data-navigation-toggle]\");\n\t\t\tclose(drawer, toggle);\n\t\t});\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\topen,\n\tclose\n};\n", "const initializedRoots = new WeakSet();\nlet keyboardDismissInitialized = false;\n\nfunction closeNode(node) {\n\tnode.classList.remove(\"is-open\");\n\tnode.querySelectorAll(\"[aria-expanded='true']\").forEach(trigger => {\n\t\ttrigger.setAttribute(\"aria-expanded\", \"false\");\n\t});\n}\n\nfunction closeAll(except = null) {\n\tdocument.querySelectorAll(\".dropdown.is-open, .popover.is-open, .tooltip.is-open\").forEach(node => {\n\t\tif(node !== except) {\n\t\t\tcloseNode(node);\n\t\t}\n\t});\n}\n\nfunction initDropdowns(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-dropdown-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst dropdown = trigger.closest(\".dropdown\");\n\n\t\tif(!dropdown) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = dropdown.classList.contains(\"is-open\");\n\t\tcloseAll(dropdown);\n\t\tdropdown.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initPopovers(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-popover-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst popover = trigger.closest(\".popover\");\n\n\t\tif(!popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = popover.classList.contains(\"is-open\");\n\t\tcloseAll(popover);\n\t\tpopover.classList.toggle(\"is-open\", !isOpen);\n\t\ttrigger.setAttribute(\"aria-expanded\", String(!isOpen));\n\t});\n}\n\nfunction initTooltips(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tconst trigger = event.target.closest(\"[data-tooltip-toggle]\");\n\n\t\tif(!trigger) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tooltip = trigger.closest(\".tooltip\");\n\n\t\tif(!tooltip) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst isOpen = tooltip.classList.contains(\"is-open\");\n\t\tcloseAll(tooltip);\n\t\ttooltip.classList.toggle(\"is-open\", !isOpen);\n\t});\n}\n\nfunction initDismiss(root = document) {\n\troot.addEventListener(\"click\", event => {\n\t\tif(event.target.closest(\".dropdown, .popover, .tooltip\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tcloseAll();\n\t});\n\n\tif(!keyboardDismissInitialized) {\n\t\tdocument.addEventListener(\"keydown\", event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tcloseAll();\n\t\t\t}\n\t\t});\n\n\t\tkeyboardDismissInitialized = true;\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\tinitDropdowns(root);\n\tinitPopovers(root);\n\tinitTooltips(root);\n\tinitDismiss(root);\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tcloseAll\n};\n", "const initializedRoots = new WeakSet();\nconst fileUploadState = new WeakMap();\n\nfunction getFileKey(file) {\n\treturn `${file.name}:${file.size}:${file.lastModified}`;\n}\n\nfunction clearFilePreviews(previewNode) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tpreviewNode.querySelectorAll(\"img[data-object-url]\").forEach(image => {\n\t\tURL.revokeObjectURL(image.dataset.objectUrl);\n\t});\n\tpreviewNode.innerHTML = \"\";\n\tpreviewNode.hidden = true;\n}\n\nfunction getStoredFiles(input) {\n\treturn fileUploadState.get(input) || [];\n}\n\nfunction setStoredFiles(input, files) {\n\tfileUploadState.set(input, files);\n\n\tconst transfer = new DataTransfer();\n\tfiles.forEach(file => transfer.items.add(file));\n\tinput.files = transfer.files;\n}\n\nfunction addStoredFiles(input, files) {\n\tconst storedFiles = getStoredFiles(input);\n\tconst knownKeys = new Set(storedFiles.map(getFileKey));\n\tconst nextFiles = [...storedFiles];\n\n\tfiles.forEach(file => {\n\t\tconst key = getFileKey(file);\n\n\t\tif(!knownKeys.has(key)) {\n\t\t\tknownKeys.add(key);\n\t\t\tnextFiles.push(file);\n\t\t}\n\t});\n\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction removeStoredFile(input, index) {\n\tconst nextFiles = getStoredFiles(input).filter((file, fileIndex) => fileIndex !== index);\n\tsetStoredFiles(input, nextFiles);\n\treturn nextFiles;\n}\n\nfunction getFileType(file) {\n\tconst nameParts = file.name.split(\".\");\n\tconst extension = nameParts.length > 1 ? nameParts.pop().trim() : \"\";\n\n\tif(extension) {\n\t\treturn extension.slice(0, 6).toUpperCase();\n\t}\n\n\tif(file.type) {\n\t\treturn file.type.split(\"/\").pop().slice(0, 6).toUpperCase();\n\t}\n\n\treturn \"FILE\";\n}\n\nfunction formatBytes(bytes) {\n\tif(!Number.isFinite(bytes)) {\n\t\treturn \"\";\n\t}\n\n\tif(bytes === 0) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n\tconst value = bytes / Math.pow(1024, index);\n\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nfunction updateFileUpload(input) {\n\tconst container = input.closest(\".file-upload-panel, .file-upload\");\n\tconst previewNode = container?.querySelector(\"[data-file-upload-preview]\");\n\n\tif(!container || !previewNode) {\n\t\treturn;\n\t}\n\n\tconst files = getStoredFiles(input);\n\n\tif(!files.length) {\n\t\tclearFilePreviews(previewNode);\n\t\treturn;\n\t}\n\n\tupdateFilePreviews(previewNode, files);\n}\n\nfunction updateFilePreviews(previewNode, files) {\n\tif(!previewNode) {\n\t\treturn;\n\t}\n\n\tclearFilePreviews(previewNode);\n\n\tfiles.forEach((file, index) => {\n\t\tconst figure = document.createElement(\"figure\");\n\t\tfigure.className = \"file-upload-preview-item\";\n\t\tfigure.dataset.fileUploadIndex = String(index);\n\n\t\tconst preview = document.createElement(\"div\");\n\t\tpreview.className = \"file-upload-preview-visual\";\n\n\t\tif(file.type.startsWith(\"image/\")) {\n\t\t\tconst image = document.createElement(\"img\");\n\t\t\tconst objectUrl = URL.createObjectURL(file);\n\t\t\timage.src = objectUrl;\n\t\t\timage.dataset.objectUrl = objectUrl;\n\t\t\timage.alt = \"\";\n\t\t\timage.loading = \"lazy\";\n\t\t\tpreview.append(image);\n\t\t} else {\n\t\t\tconst type = document.createElement(\"span\");\n\t\t\ttype.className = \"file-upload-preview-type\";\n\t\t\ttype.textContent = getFileType(file);\n\t\t\tpreview.append(type);\n\t\t}\n\n\t\tconst caption = document.createElement(\"figcaption\");\n\n\t\tconst name = document.createElement(\"span\");\n\t\tname.className = \"file-upload-preview-name\";\n\t\tname.textContent = file.name;\n\n\t\tconst meta = document.createElement(\"span\");\n\t\tmeta.className = \"file-upload-preview-meta\";\n\t\tmeta.textContent = `${getFileType(file)} / ${formatBytes(file.size)}`;\n\n\t\tconst remove = document.createElement(\"button\");\n\t\tremove.className = \"file-upload-preview-remove\";\n\t\tremove.type = \"button\";\n\t\tremove.dataset.fileUploadRemove = String(index);\n\t\tremove.setAttribute(\"aria-label\", `Remove ${file.name}`);\n\t\tremove.innerHTML = ``;\n\n\t\tcaption.append(name, meta);\n\t\tfigure.append(remove, preview, caption);\n\t\tpreviewNode.append(figure);\n\t});\n\n\tpreviewNode.hidden = false;\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst clearButton = event.target.closest(\"[data-input-clear]\");\n\n\t\tif(!clearButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group = clearButton.closest(\".input-group\");\n\t\tconst input = group?.querySelector(\"input, textarea\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\t\tinput.focus();\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst removeButton = event.target.closest(\"[data-file-upload-remove]\");\n\n\t\tif(!removeButton) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = removeButton.closest(\".file-upload-panel, .file-upload\");\n\t\tconst input = container?.querySelector(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tremoveStoredFile(input, Number(removeButton.dataset.fileUploadRemove));\n\t\tupdateFileUpload(input);\n\t\tinput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\t});\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst input = event.target.closest(\"[data-date-picker]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tinput.focus();\n\n\t\tif(typeof input.showPicker === \"function\") {\n\t\t\ttry {\n\t\t\t\tinput.showPicker();\n\t\t\t} catch(error) {\n\t\t\t\t// Some browsers restrict showPicker() to direct user gestures or supported input types.\n\t\t\t}\n\t\t}\n\t});\n\n\troot.addEventListener(\"change\", event => {\n\t\tconst input = event.target.closest(\"[data-file-upload-input]\");\n\n\t\tif(!input) {\n\t\t\treturn;\n\t\t}\n\n\t\taddStoredFiles(input, Array.from(input.files || []));\n\t\tupdateFileUpload(input);\n\t});\n\n\troot.addEventListener(\"reset\", event => {\n\t\tconst form = event.target.closest(\"form\");\n\n\t\tif(!form) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tform.querySelectorAll(\"[data-file-upload-input]\").forEach(input => {\n\t\t\t\tsetStoredFiles(input, []);\n\t\t\t\tupdateFileUpload(input);\n\t\t\t});\n\t\t}, 0);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tupdateFileUpload\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getPanel(details) {\n\treturn details.querySelector(\".accordion-panel\");\n}\n\nfunction prepareOpenPanel(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel) {\n\t\treturn;\n\t}\n\n\tpanel.style.height = \"auto\";\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n}\n\nfunction expand(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tdetails.open = true;\n\tpanel.style.height = \"0px\";\n\tpanel.style.opacity = \"0\";\n\tpanel.style.transform = \"translateY(-8px)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = `${panel.scrollHeight}px`;\n\t\tpanel.style.opacity = \"1\";\n\t\tpanel.style.transform = \"translateY(0)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tpanel.style.height = \"auto\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction collapse(details) {\n\tconst panel = getPanel(details);\n\n\tif(!panel || details.dataset.animating === \"true\") {\n\t\treturn;\n\t}\n\n\tdetails.dataset.animating = \"true\";\n\tpanel.style.height = `${panel.scrollHeight}px`;\n\tpanel.style.opacity = \"1\";\n\tpanel.style.transform = \"translateY(0)\";\n\n\trequestAnimationFrame(() => {\n\t\tpanel.style.height = \"0px\";\n\t\tpanel.style.opacity = \"0\";\n\t\tpanel.style.transform = \"translateY(-8px)\";\n\t});\n\n\tconst handleTransitionEnd = event => {\n\t\tif(event.propertyName !== \"height\") {\n\t\t\treturn;\n\t\t}\n\n\t\tpanel.removeEventListener(\"transitionend\", handleTransitionEnd);\n\t\tdetails.open = false;\n\t\tpanel.style.height = \"\";\n\t\tpanel.style.opacity = \"\";\n\t\tpanel.style.transform = \"\";\n\t\tdelete details.dataset.animating;\n\t};\n\n\tpanel.addEventListener(\"transitionend\", handleTransitionEnd);\n}\n\nfunction toggle(details) {\n\tif(details.open) {\n\t\tcollapse(details);\n\t} else {\n\t\texpand(details);\n\t}\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".accordion-item[open], .disclosure[open]\").forEach(prepareOpenPanel);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst summary = event.target.closest(\".accordion-summary\");\n\n\t\tif(!summary) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst details = summary.closest(\".accordion-item, .disclosure\");\n\n\t\tif(!details) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\ttoggle(details);\n\t});\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\texpand,\n\tcollapse,\n\ttoggle\n};\n", "const initializedRoots = new WeakSet();\n\nfunction getTabs(root) {\n\treturn [...root.querySelectorAll('[role=\"tab\"], .tab')];\n}\n\nfunction getPanels(root) {\n\treturn [...root.querySelectorAll('[role=\"tabpanel\"], .tab-panel')];\n}\n\nfunction getPanel(root, tab) {\n\tconst panelId = tab.getAttribute(\"aria-controls\");\n\n\tif(!panelId) {\n\t\treturn null;\n\t}\n\n\treturn root.querySelector(`#${CSS.escape(panelId)}`);\n}\n\nfunction setTabState(tab, isActive) {\n\ttab.classList.toggle(\"tab-active\", isActive);\n\ttab.setAttribute(\"aria-selected\", isActive ? \"true\" : \"false\");\n\ttab.setAttribute(\"tabindex\", isActive ? \"0\" : \"-1\");\n}\n\nfunction setPanelState(panel, isActive) {\n\tpanel.classList.toggle(\"tab-panel-active\", isActive);\n\tpanel.toggleAttribute(\"hidden\", !isActive);\n}\n\nfunction activate(tab, options = {}) {\n\tif(!tab || tab.disabled || tab.getAttribute(\"aria-disabled\") === \"true\") {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\n\tif(!root) {\n\t\treturn;\n\t}\n\n\tgetTabs(root).forEach(item => setTabState(item, item === tab));\n\tgetPanels(root).forEach(panel => setPanelState(panel, false));\n\n\tconst panel = getPanel(root, tab);\n\n\tif(panel) {\n\t\tsetPanelState(panel, true);\n\t}\n\n\tif(options.focus !== false) {\n\t\ttab.focus();\n\t}\n}\n\nfunction getNextEnabledTab(tabs, activeIndex, direction) {\n\tfor(let offset = 1; offset <= tabs.length; offset++) {\n\t\tconst index = (activeIndex + (offset * direction) + tabs.length) % tabs.length;\n\t\tconst tab = tabs[index];\n\n\t\tif(!tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\") {\n\t\t\treturn tab;\n\t\t}\n\t}\n\n\treturn tabs[activeIndex];\n}\n\nfunction handleKeydown(event) {\n\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\tif(!tab) {\n\t\treturn;\n\t}\n\n\tconst root = tab.closest(\".tabs\") || tab.closest('[role=\"tablist\"]')?.parentElement;\n\tconst tabs = root ? getTabs(root) : [];\n\tconst activeIndex = tabs.indexOf(tab);\n\n\tif(activeIndex < 0) {\n\t\treturn;\n\t}\n\n\tlet nextTab = null;\n\n\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, 1);\n\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\tnextTab = getNextEnabledTab(tabs, activeIndex, -1);\n\t} else if(event.key === \"Home\") {\n\t\tnextTab = getNextEnabledTab(tabs, -1, 1);\n\t} else if(event.key === \"End\") {\n\t\tnextTab = getNextEnabledTab(tabs, 0, -1);\n\t}\n\n\tif(!nextTab) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\tactivate(nextTab);\n}\n\nfunction prepare(root) {\n\tconst tabs = getTabs(root);\n\tconst activeTab = tabs.find(tab => tab.classList.contains(\"tab-active\") || tab.getAttribute(\"aria-selected\") === \"true\")\n\t\t|| tabs.find(tab => !tab.disabled && tab.getAttribute(\"aria-disabled\") !== \"true\");\n\n\ttabs.forEach(tab => {\n\t\ttab.setAttribute(\"role\", \"tab\");\n\t\tsetTabState(tab, tab === activeTab);\n\t});\n\n\troot.querySelectorAll(\".tabs-list\").forEach(list => {\n\t\tlist.setAttribute(\"role\", \"tablist\");\n\t});\n\n\tgetPanels(root).forEach(panel => {\n\t\tpanel.setAttribute(\"role\", \"tabpanel\");\n\t\tsetPanelState(panel, activeTab ? panel === getPanel(root, activeTab) : panel.classList.contains(\"tab-panel-active\"));\n\t});\n}\n\nfunction init(root = document) {\n\tif(initializedRoots.has(root)) {\n\t\treturn;\n\t}\n\n\troot.querySelectorAll(\".tabs\").forEach(prepare);\n\n\troot.addEventListener(\"click\", event => {\n\t\tconst tab = event.target.closest('[role=\"tab\"], .tab');\n\n\t\tif(!tab || !root.contains(tab)) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tactivate(tab, { focus: false });\n\t});\n\n\troot.addEventListener(\"keydown\", handleKeydown);\n\n\tinitializedRoots.add(root);\n}\n\nexport default {\n\tinit,\n\tactivate\n};\n", "export default function demoNavigation() {\n const navItems = [...document.querySelectorAll(\".nav-drawer .list-item\")];\n const sections = [...document.querySelectorAll(\".docs-content .section[id]\")];\n const currentSection = document.querySelector(\"[data-docs-current-section]\");\n\n if (!navItems.length || !sections.length) {\n return;\n }\n\n const setActive = id => {\n navItems.forEach(item => {\n const link = item.querySelector(\".list-action\");\n const isActive = link?.getAttribute(\"href\") === `#${id}`;\n item.classList.toggle(\"list-item-active\", isActive);\n\n if (isActive && currentSection) {\n currentSection.textContent = link.querySelector(\".list-label\")?.textContent.trim() || id;\n }\n });\n };\n\n const getActiveSection = () => {\n const anchor = Math.min(window.innerHeight * 0.35, 280);\n let active = sections[0];\n\n for (const section of sections) {\n const rect = section.getBoundingClientRect();\n\n if (rect.top <= anchor) {\n active = section;\n } else {\n break;\n }\n }\n\n return active;\n };\n\n let ticking = false;\n\n const updateActive = () => {\n ticking = false;\n const active = getActiveSection();\n\n if (active?.id) {\n setActive(active.id);\n }\n };\n\n const requestUpdate = () => {\n if (ticking) {\n return;\n }\n\n ticking = true;\n window.requestAnimationFrame(updateActive);\n };\n\n window.addEventListener(\"scroll\", requestUpdate, { passive: true });\n window.addEventListener(\"resize\", requestUpdate);\n\n if (window.location.hash) {\n setActive(window.location.hash.slice(1));\n } else {\n updateActive();\n }\n}\n", "function fallbackCopy(text) {\n const textarea = document.createElement(\"textarea\");\n textarea.value = text;\n textarea.setAttribute(\"readonly\", \"readonly\");\n textarea.style.position = \"fixed\";\n textarea.style.opacity = \"0\";\n document.body.append(textarea);\n textarea.select();\n document.execCommand(\"copy\");\n textarea.remove();\n}\n\nfunction escapeHtml(text) {\n return text\n .replace(/&/g, \"&\")\n .replace(//g, \">\");\n}\n\nfunction highlightJavascript(code) {\n const source = code.textContent;\n const tokens = /\\/\\/.*$|\\/\\*[\\s\\S]*?\\*\\/|`(?:\\\\[\\s\\S]|[^`\\\\])*`|'(?:\\\\.|[^'\\\\])*'|\"(?:\\\\.|[^\"\\\\])*\"|\\b(?:async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)\\b|\\b\\d+(?:\\.\\d+)?\\b|\\b[A-Za-z_$][\\w$]*(?=\\s*\\()/gm;\n let html = \"\";\n let cursor = 0;\n let match;\n\n while ((match = tokens.exec(source)) !== null) {\n const token = match[0];\n html += escapeHtml(source.slice(cursor, match.index));\n\n if (token.startsWith(\"//\") || token.startsWith(\"/*\")) {\n html += `${escapeHtml(token)}`;\n } else if (token.startsWith(\"\\\"\") || token.startsWith(\"'\") || token.startsWith(\"`\")) {\n html += `${escapeHtml(token)}`;\n } else if (/^\\d/.test(token)) {\n html += `${escapeHtml(token)}`;\n } else if (/^[A-Za-z_$][\\w$]*$/.test(token) && source[match.index + token.length]?.match(/\\s|\\(/)) {\n const keyword = /^(async|await|break|case|catch|class|const|continue|default|do|else|export|for|from|function|if|import|let|new|null|return|switch|throw|try|var|while)$/.test(token);\n html += keyword\n ? `${token}`\n : `${token}`;\n } else {\n html += escapeHtml(token);\n }\n\n cursor = match.index + token.length;\n }\n\n html += escapeHtml(source.slice(cursor));\n code.innerHTML = html;\n code.classList.add(\"hljs\");\n}\n\nfunction highlightCode() {\n document.querySelectorAll(\"code.language-js, code.language-javascript\").forEach(highlightJavascript);\n\n if (window.hljs) {\n document\n .querySelectorAll(\"code:not(.language-js):not(.language-javascript)\")\n .forEach(code => window.hljs.highlightElement(code));\n }\n}\n\nexport default function codeExamples() {\n highlightCode();\n\n document.querySelectorAll(\".code-example-copy\").forEach(button => {\n button.addEventListener(\"click\", async () => {\n const example = button.closest(\".code-example\");\n const code = example?.querySelector(\"code\");\n const text = code?.textContent ?? \"\";\n const originalText = button.textContent;\n\n if (!text) {\n return;\n }\n\n try {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n } else {\n fallbackCopy(text);\n }\n\n button.textContent = \"Copied\";\n } catch (err) {\n fallbackCopy(text);\n button.textContent = \"Copied\";\n }\n\n setTimeout(() => {\n button.textContent = originalText;\n }, 1200);\n });\n });\n}\n"], + "mappings": "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", "names": ["index_exports", "__export", "accordion_default", "drawer_default", "helper_default", "input_patterns_default", "modals_default", "navigation_shell_default", "overlays_default", "tabs_default", "toasts_default", "advancedSelect", "confirmPopup", "index_default", "editableString", "sidebarNav", "items", "listItems", "item", "aOpen", "aClose", "table", "caption", "columns", "data", "tfoot", "head", "totalColumns", "key", "body", "column", "foot", "tableCaption", "tableHead", "createElement", "type", "props", "content", "node", "value", "createAlert", "fieldsUnification", "map", "dataObj", "field", "btnLoadingState", "btn", "isLoading", "cardStatusLoadingState", "card", "iconContainer", "mainTemplate", "sidebar", "connectionStatusBadge", "status", "toogleStateBadge", "state", "timeAgo", "dateString", "date", "diff_seconds", "minutes", "hours", "days", "remain_minutes", "formatDate", "now", "today", "target_day", "diff_days", "months", "circleLoaderHTML", "emptyHereHTML", "helper_default", "appendIcon", "container", "icon", "iconWrap", "template", "type", "title", "text", "toast", "content", "toastTitle", "toastText", "close", "init", "props", "i", "_a", "e", "lifetimeInterval", "create", "createSuccess", "createInfo", "createWarning", "createError", "toasts_default", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "modal", "backdrop", "dialog", "panel", "header", "modalTitle", "close", "body", "modalFooter", "init", "onready", "e", "create", "modalBody", "actionsResult", "actions", "actionElement", "bodyResult", "modals_default", "scrollToElementInFocus", "container", "focus", "container_rect", "focus_rect", "autoSetState", "firstVisibleOption", "lastVisibleOption", "selectOption", "input", "option", "advancedSelect", "options", "notFoundText", "popup", "notFound", "optionsContainer", "optionValue", "existsOption", "value", "ret", "stateName", "name", "handler", "eventHandler", "e", "_a", "_b", "current", "prev", "next", "selected", "val", "i", "template", "originalText", "isMultiString", "placeholder", "input", "editableString", "stringContainer", "component", "helper_default", "editBtn", "applyBtn", "cancelBtn", "content", "form", "val", "cb", "evName", "handler", "e", "confirmPopup", "text", "confirmedCb", "canceledCb", "modals_default", "paragraph", "modal", "buttonNO", "helper_default", "buttonYES", "e", "appendContent", "container", "content", "mode", "template", "id", "title", "footer", "props", "_a", "drawer", "backdrop", "panel", "header", "drawerTitle", "close", "body", "drawerFooter", "init", "onready", "create", "drawerBody", "actionsResult", "actions", "actionElement", "bodyResult", "drawer_default", "initializedRoots", "getDrawerForToggle", "toggle", "root", "_a", "_b", "id", "open", "drawer", "firstControl", "close", "shouldRestoreFocus", "init", "event", "closeControl", "navigation_shell_default", "initializedRoots", "keyboardDismissInitialized", "closeNode", "node", "trigger", "closeAll", "except", "initDropdowns", "root", "event", "dropdown", "isOpen", "initPopovers", "popover", "initTooltips", "tooltip", "initDismiss", "init", "overlays_default", "initializedRoots", "fileUploadState", "getFileKey", "file", "clearFilePreviews", "previewNode", "image", "getStoredFiles", "input", "setStoredFiles", "files", "transfer", "addStoredFiles", "storedFiles", "knownKeys", "nextFiles", "key", "removeStoredFile", "index", "fileIndex", "getFileType", "nameParts", "extension", "formatBytes", "bytes", "units", "value", "updateFileUpload", "container", "updateFilePreviews", "figure", "preview", "objectUrl", "type", "caption", "name", "meta", "remove", "init", "root", "event", "clearButton", "group", "removeButton", "error", "form", "input_patterns_default", "initializedRoots", "getPanel", "details", "prepareOpenPanel", "panel", "expand", "handleTransitionEnd", "event", "collapse", "toggle", "init", "root", "summary", "accordion_default", "initializedRoots", "getTabs", "root", "getPanels", "getPanel", "tab", "panelId", "setTabState", "isActive", "setPanelState", "panel", "activate", "options", "_a", "item", "getNextEnabledTab", "tabs", "activeIndex", "direction", "offset", "index", "handleKeydown", "event", "nextTab", "prepare", "activeTab", "list", "init", "tabs_default", "demoNavigation", "navItems", "sections", "currentSection", "setActive", "id", "item", "_a", "link", "isActive", "getActiveSection", "anchor", "active", "section", "ticking", "updateActive", "requestUpdate", "fallbackCopy", "text", "textarea", "escapeHtml", "highlightJavascript", "code", "_a", "source", "tokens", "html", "cursor", "match", "token", "keyword", "highlightCode", "codeExamples", "button", "_b", "example", "originalText", "err", "api", "helper_default", "toasts_default", "modals_default", "advancedSelect", "editableString", "confirmPopup", "drawer_default", "navigation_shell_default", "overlays_default", "input_patterns_default", "accordion_default", "tabs_default", "demoNavigation", "codeExamples", "index_default", "api"] } diff --git a/dist/vue/index.js b/dist/vue/index.js index 4685a3c..bcf5399 100644 --- a/dist/vue/index.js +++ b/dist/vue/index.js @@ -42,7 +42,7 @@ } const iconClass = hasPrefix ? icon : `ph-${icon}`; return h("i", { - class: cx(iconClass, extraClass), + class: cx("ph", iconClass, extraClass), "aria-hidden": "true" }); } diff --git a/dist/vue/index.js.map b/dist/vue/index.js.map index 410dea4..19432ac 100644 --- a/dist/vue/index.js.map +++ b/dist/vue/index.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../src/vue/components/GnAccordion.js", "../../src/vue/utils.js", "../../src/vue/components/GnActionCard.js", "../../src/vue/components/GnActionList.js", "../../src/vue/components/GnActivityLog.js", "../../src/vue/components/GnAlert.js", "../../src/vue/components/GnAvatar.js", "../../src/vue/components/GnAvatarStack.js", "../../src/vue/components/GnBadge.js", "../../src/vue/components/GnButton.js", "../../src/vue/components/GnCard.js", "../../src/vue/components/GnCheckbox.js", "../../src/vue/components/GnChip.js", "../../src/vue/components/GnChipGroup.js", "../../src/vue/components/GnCombobox.js", "../../src/vue/components/GnConfirmDialog.js", "../../src/vue/components/GnModal.js", "../../src/vue/components/GnCopyButton.js", "../../src/vue/components/GnDescriptionList.js", "../../src/vue/components/GnDefinitionList.js", "../../src/vue/components/GnDropdown.js", "../../src/vue/components/GnDrawer.js", "../../src/vue/components/GnEmptyState.js", "../../src/vue/components/GnFileUpload.js", "../../src/vue/components/GnIconButton.js", "../../src/vue/components/GnIdentity.js", "../../src/vue/components/GnInput.js", "../../src/vue/components/GnInputGroup.js", "../../src/vue/components/GnList.js", "../../src/vue/components/GnLoader.js", "../../src/vue/components/GnMetricCard.js", "../../src/vue/components/GnNavList.js", "../../src/vue/composables/useVueRouter.js", "../../src/vue/components/GnNavigationShell.js", "../../src/vue/components/GnPageHeader.js", "../../src/vue/components/GnHorizontalCard.js", "../../src/vue/components/GnPagination.js", "../../src/vue/components/GnPopover.js", "../../src/vue/components/GnProgress.js", "../../src/vue/components/GnProgressStages.js", "../../src/vue/components/GnRadio.js", "../../src/vue/components/GnRadioGroup.js", "../../src/vue/components/GnRange.js", "../../src/vue/components/GnRouterTabs.js", "../../src/vue/components/GnTabs.js", "../../src/vue/components/GnSearchField.js", "../../src/vue/components/GnSelect.js", "../../src/vue/components/GnSkeleton.js", "../../src/vue/components/GnSteps.js", "../../src/vue/components/GnStatusCard.js", "../../src/vue/components/GnTable.js", "../../src/vue/components/GnTextarea.js", "../../src/vue/components/GnTimeline.js", "../../src/vue/components/GnTooltip.js", "../../src/vue/components/GnToolbar.js", "../../src/vue/components/GnToastProvider.js", "../../src/vue/composables/toast-context.js", "../../src/vue/components/GnUsageMeter.js", "../../src/vue/composables/useToast.js", "../../src/vue/plugin.js"], - "sourcesContent": ["import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAccordion\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tmodelValue: { type: [String, Array], default: \"\" },\n\t\tmultiple: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst localOpen = ref(props.multiple ? [] : \"\");\n\n\t\tconst getOpen = () => props.modelValue || localOpen.value;\n\t\tconst isOpen = id => props.multiple ? getOpen().includes(id) : getOpen() === id;\n\t\tconst toggle = id => {\n\t\t\tlet next;\n\n\t\t\tif(props.multiple) {\n\t\t\t\tconst current = [...getOpen()];\n\t\t\t\tnext = current.includes(id) ? current.filter(item => item !== id) : [...current, id];\n\t\t\t} else {\n\t\t\t\tnext = isOpen(id) ? \"\" : id;\n\t\t\t}\n\n\t\t\tlocalOpen.value = next;\n\t\t\temit(\"update:modelValue\", next);\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"accordion\" }, props.items.map(item => {\n\t\t\tconst open = isOpen(item.id);\n\n\t\t\treturn h(\"section\", { class: \"accordion-item\", open: open ? \"\" : undefined }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"accordion-summary\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-expanded\": open ? \"true\" : \"false\",\n\t\t\t\t\tonClick: () => toggle(item.id)\n\t\t\t\t}, [\n\t\t\t\t\th(\"span\", { class: \"accordion-summary-content\" }, [\n\t\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\t\titem.label\n\t\t\t\t\t]),\n\t\t\t\t\th(\"i\", { class: cx(\"ph ph-caret-down accordion-icon\", { \"is-open\": open }), \"aria-hidden\": \"true\" })\n\t\t\t\t]),\n\t\t\t\topen && h(\"div\", { class: \"accordion-panel\" }, slots[item.id]?.({ item, open }) || item.content)\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { h } from \"vue\";\n\nexport const variants = new Set([\n\t\"primary\",\n\t\"secondary\",\n\t\"accent\",\n\t\"success\",\n\t\"warning\",\n\t\"danger\",\n\t\"error\",\n\t\"info\"\n]);\n\nexport function cx(...items) {\n\treturn items\n\t\t.flatMap(item => {\n\t\t\tif(!item) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif(Array.isArray(item)) {\n\t\t\t\treturn item;\n\t\t\t}\n\n\t\t\tif(typeof item === \"object\") {\n\t\t\t\treturn Object.entries(item)\n\t\t\t\t\t.filter(([, enabled]) => enabled)\n\t\t\t\t\t.map(([name]) => name);\n\t\t\t}\n\n\t\t\treturn [item];\n\t\t})\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n}\n\nexport function normalizeVariant(value, fallback = \"primary\") {\n\treturn variants.has(value) ? value : fallback;\n}\n\nexport function iconNode(icon, extraClass = \"\") {\n\tif(!icon) {\n\t\treturn null;\n\t}\n\n\tconst hasPrefix = icon.includes(\"ph \") || icon.startsWith(\"ph-\");\n\n\tif(!hasPrefix) {\n\t\tif(typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`[gnexus-ui-kit] Icon \"${icon}\" is missing the required \"ph-\" prefix. Use \"ph-${icon}\" instead.`);\n\t\t}\n\t}\n\n\tconst iconClass = hasPrefix\n\t\t? icon\n\t\t: `ph-${icon}`;\n\n\treturn h(\"i\", {\n\t\tclass: cx(iconClass, extraClass),\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\n\nexport function slotOrText(slots, name, text) {\n\treturn slots[name] ? slots[name]() : text;\n}\n\nexport function eventValue(event) {\n\tconst target = event.target;\n\n\tif(target.type === \"checkbox\") {\n\t\treturn target.checked;\n\t}\n\n\treturn target.value;\n}\n\nexport const focusableSelector = [\n\t\"a[href]\",\n\t\"button:not([disabled])\",\n\t\"input:not([disabled])\",\n\t\"select:not([disabled])\",\n\t\"textarea:not([disabled])\",\n\t\"[tabindex]:not([tabindex='-1'])\"\n].join(\",\");\n\nexport function trapFocus(event, root) {\n\tif(event.key !== \"Tab\" || !root) {\n\t\treturn;\n\t}\n\n\tconst focusable = [...root.querySelectorAll(focusableSelector)]\n\t\t.filter(node => !node.hasAttribute(\"disabled\") && node.offsetParent !== null);\n\n\tif(!focusable.length) {\n\t\tevent.preventDefault();\n\t\troot.focus();\n\t\treturn;\n\t}\n\n\tconst first = focusable[0];\n\tconst last = focusable[focusable.length - 1];\n\n\tif(event.shiftKey && document.activeElement === first) {\n\t\tevent.preventDefault();\n\t\tlast.focus();\n\t} else if(!event.shiftKey && document.activeElement === last) {\n\t\tevent.preventDefault();\n\t\tfirst.focus();\n\t}\n}\n", "import { defineComponent, h } from \"vue\";\n\nexport default defineComponent({\n\tname: \"GnActionCard\",\n\tprops: {\n\t\tkicker: { type: String, default: \"\" },\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"article\", { class: \"card action-card\" }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"span\", { class: \"action-card-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h3\", { class: \"action-card-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"action-card-text\" }, slots.default?.() || props.text),\n\t\t\t\tslots.actions && h(\"div\", { class: \"action-card-actions\" }, slots.actions())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActionList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-actions\", attrs.class) }, props.items.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", item.muted && \"list-item-muted\")\n\t\t}, [\n\t\t\th(\"div\", { class: \"list-content\" }, [\n\t\t\t\th(\"div\", { class: \"list-title\" }, slots.title?.({ item }) || item.title),\n\t\t\t\t(item.subtitle || slots.subtitle) && h(\"div\", { class: \"list-subtitle\" }, slots.subtitle?.({ item }) || item.subtitle)\n\t\t\t]),\n\t\t\tslots.controls && h(\"div\", { class: \"list-controls\" }, slots.controls({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActivityLog\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"activity-log\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"activity-log-row\"\n\t\t}, [\n\t\t\th(\"time\", { class: \"activity-log-time\" }, item.time),\n\t\t\th(\"span\", { class: \"activity-log-title\" }, slots[item.key]?.({ item }) || item.title),\n\t\t\tslots.actions && h(\"span\", {}, slots.actions({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAlert\",\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\trole: { type: String, default: \"status\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\trole: props.role,\n\t\t\t\tclass: cx(\"alert\", `alert-${variant}`, attrs.class)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatar\",\n\tprops: {\n\t\tsrc: { type: String, default: \"\" },\n\t\talt: { type: String, default: \"\" },\n\t\tinitials: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false },\n\t\tstatus: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"avatar\", `avatar-${variant}`, {\n\t\t\t\t\t\"avatar-sm\": props.size === \"sm\",\n\t\t\t\t\t\"avatar-lg\": props.size === \"lg\",\n\t\t\t\t\t\"avatar-outline\": props.outline,\n\t\t\t\t\t\"is-online\": props.status === \"online\",\n\t\t\t\t\t\"is-busy\": props.status === \"busy\",\n\t\t\t\t\t\"is-offline\": props.status === \"offline\"\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\tprops.src ? h(\"img\", { src: props.src, alt: props.alt }) : iconNode(props.icon) || props.initials,\n\t\t\t\tprops.status && h(\"span\", { class: \"avatar-status\", \"aria-hidden\": \"true\" })\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatarStack\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcount: { type: [Number, String], default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"avatar-stack\" }, [\n\t\t\tprops.items.map(item => h(GnAvatar, { ...item, size: item.size || \"sm\" })),\n\t\t\tslots.default?.(),\n\t\t\tprops.count && h(\"span\", { class: \"avatar-stack-count\" }, `+${props.count}`)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnBadge\",\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"badge\",\n\t\t\t\t\tprops.outline && variant === \"primary\" ? \"badge-primary-outline\" : `badge-${variant}`,\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "/**\n * GnButton - Primary command component.\n *\n * @typedef {Object} GnButtonProps\n * @property {string} [variant='primary'] - primary | secondary | accent | success | warning | danger | error | info\n * @property {string} [size='md'] - sm | md | lg\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-plus\", \"ph-house\")\n * @property {boolean} [loading=false] - Show spinner and disable interaction\n * @property {boolean} [disabled=false] - Disabled state\n * @property {string} [type='button'] - button | submit | reset\n *\n * @slots default - Button label text\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnButton\",\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tloading: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\ttype: { type: String, default: \"button\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst hasIcon = Boolean(props.icon || props.loading);\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"button\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tdisabled: props.disabled || props.loading,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"btn\",\n\t\t\t\t\t`btn-${variant}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t\"btn-small\": props.size === \"sm\",\n\t\t\t\t\t\t\"btn-large\": props.size === \"lg\",\n\t\t\t\t\t\t\"with-icon\": hasIcon,\n\t\t\t\t\t\t\"loading-state\": props.loading\n\t\t\t\t\t},\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, [\n\t\t\t\tprops.loading ? iconNode(\"ph-bold ph-spinner\") : iconNode(props.icon),\n\t\t\t\tslots.default?.()\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCard\",\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card\", props.variant && `card-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\t(props.title || slots.title) && h(\"header\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCheckbox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"checkbox\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"checkbox-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"checkbox-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChip\",\n\tprops: {\n\t\tvariant: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tselected: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\tremovable: { type: Boolean, default: false }\n\t},\n\temits: [\"remove\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => {\n\t\t\tconst tag = attrs.onClick ? \"button\" : \"span\";\n\t\t\tconst variant = props.variant ? normalizeVariant(props.variant) : \"\";\n\n\t\t\treturn h(tag, {\n\t\t\t\t...attrs,\n\t\t\t\ttype: tag === \"button\" ? \"button\" : undefined,\n\t\t\t\tdisabled: tag === \"button\" ? props.disabled : undefined,\n\t\t\t\t\"aria-pressed\": tag === \"button\" ? String(props.selected) : undefined,\n\t\t\t\tclass: cx(\"chip\", variant && `chip-${variant}`, {\n\t\t\t\t\t\"chip-selected\": props.selected,\n\t\t\t\t\t\"chip-disabled\": props.disabled\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\ticonNode(props.icon),\n\t\t\t\tslots.default?.(),\n\t\t\t\tprops.removable && h(\"button\", {\n\t\t\t\t\tclass: \"chip-remove\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": \"Remove\",\n\t\t\t\t\tonClick: event => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\temit(\"remove\");\n\t\t\t\t\t}\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChipGroup\",\n\tsetup(_, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"chip-group\", attrs.class) }, slots.default?.());\n\t}\n});\n", "import { computed, defineComponent, h, nextTick, ref } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nlet comboboxId = 0;\n\nexport default defineComponent({\n\tname: \"GnCombobox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tnotFoundText: { type: String, default: \"Nothing found\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"select\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst id = `gn-combobox-${++comboboxId}`;\n\t\tconst listboxId = `${id}-listbox`;\n\t\tconst open = ref(false);\n\t\tconst focused = ref(-1);\n\t\tconst inputRef = ref(null);\n\t\tconst normalized = computed(() => props.options.map(option => typeof option === \"object\" ? option : {\n\t\t\tvalue: option,\n\t\t\tlabel: option\n\t\t}));\n\t\tconst query = computed(() => String(props.modelValue ?? \"\").toLowerCase());\n\t\tconst filtered = computed(() => normalized.value.filter(option => String(option.label).toLowerCase().includes(query.value)));\n\t\tconst select = option => {\n\t\t\tif(!option) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\temit(\"update:modelValue\", option.label);\n\t\t\temit(\"select\", option);\n\t\t\topen.value = false;\n\t\t\tfocused.value = -1;\n\t\t};\n\t\tconst move = direction => {\n\t\t\tif(!filtered.value.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topen.value = true;\n\t\t\tfocused.value = (focused.value + direction + filtered.value.length) % filtered.value.length;\n\t\t\tnextTick(() => {\n\t\t\t\tconst container = inputRef.value?.closest(\".form-group\")?.querySelector(\".advanced-select\");\n\t\t\t\tcontainer?.querySelector(\".option.focus\")?.scrollIntoView({ block: \"nearest\" });\n\t\t\t});\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(1);\n\t\t\t} else if(event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(-1);\n\t\t\t} else if(event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselect(filtered.value[focused.value]);\n\t\t\t} else if(event.key === \"Escape\") {\n\t\t\t\topen.value = false;\n\t\t\t\tfocused.value = -1;\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tref: inputRef,\n\t\t\t\t\tid,\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\t\tautocomplete: \"off\",\n\t\t\t\t\trole: \"combobox\",\n\t\t\t\t\t\"aria-autocomplete\": \"list\",\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": listboxId,\n\t\t\t\t\t\"aria-activedescendant\": focused.value >= 0 ? `${id}-option-${focused.value}` : undefined,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonFocus: () => {\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t},\n\t\t\t\t\tonBlur: () => {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\topen.value = false;\n\t\t\t\t\t\t}, 120);\n\t\t\t\t\t},\n\t\t\t\t\tonInput: event => {\n\t\t\t\t\t\tfocused.value = -1;\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t\temit(\"update:modelValue\", eventValue(event));\n\t\t\t\t\t},\n\t\t\t\t\tonKeydown\n\t\t\t\t})\n\t\t\t]),\n\t\t\th(\"div\", { class: \"advanced-select-container\" }, [\n\t\t\t\th(\"div\", { class: cx(\"advanced-select\", { \"a-show\": open.value }) }, [\n\t\t\t\t\th(\"div\", { class: \"popup-options-container\" }, [\n\t\t\t\t\t\th(\"div\", { class: cx(\"not-found\", { show: !filtered.value.length }) }, props.notFoundText),\n\t\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\t\tid: listboxId,\n\t\t\t\t\t\t\tclass: cx(\"options\", { show: filtered.value.length }),\n\t\t\t\t\t\t\trole: \"listbox\"\n\t\t\t\t\t\t}, filtered.value.map((option, index) => h(\"div\", {\n\t\t\t\t\t\t\tid: `${id}-option-${index}`,\n\t\t\t\t\t\t\tclass: cx(\"option\", { focus: index === focused.value }),\n\t\t\t\t\t\t\trole: \"option\",\n\t\t\t\t\t\t\t\"aria-selected\": index === focused.value ? \"true\" : \"false\",\n\t\t\t\t\t\t\t\"data-value\": option.value,\n\t\t\t\t\t\t\t\"data-display-value\": option.label,\n\t\t\t\t\t\t\tonMousedown: event => {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tselect(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, option.label)))\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnButton from \"./GnButton.js\";\nimport GnModal from \"./GnModal.js\";\n\nexport default defineComponent({\n\tname: \"GnConfirmDialog\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"Requires confirmation\" },\n\t\tmessage: { type: String, default: \"\" },\n\t\tconfirmText: { type: String, default: \"YES\" },\n\t\tcancelText: { type: String, default: \"NO\" },\n\t\tconfirmVariant: { type: String, default: \"warning\" }\n\t},\n\temits: [\"update:open\", \"confirm\", \"cancel\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst close = () => emit(\"update:open\", false);\n\t\tconst cancel = () => {\n\t\t\temit(\"cancel\");\n\t\t\tclose();\n\t\t};\n\t\tconst confirm = () => {\n\t\t\temit(\"confirm\");\n\t\t\tclose();\n\t\t};\n\n\t\treturn () => h(GnModal, {\n\t\t\topen: props.open,\n\t\t\ttitle: props.title,\n\t\t\t\"onUpdate:open\": value => emit(\"update:open\", value)\n\t\t}, {\n\t\t\tdefault: () => slots.default?.() || h(\"p\", {}, props.message),\n\t\t\tactions: () => [\n\t\t\t\th(GnButton, { variant: \"primary\", onClick: cancel }, () => props.cancelText),\n\t\t\t\th(GnButton, { variant: props.confirmVariant, onClick: confirm }, () => props.confirmText)\n\t\t\t]\n\t\t});\n\t}\n});\n", "/**\n * GnModal - Accessible modal dialog with focus trapping and teleport.\n *\n * @typedef {Object} GnModalProps\n * @property {boolean} [open=false] - Dialog visibility\n * @property {string} [title=''] - Dialog title\n * @property {boolean} [closeOnBackdrop=true] - Click backdrop to close\n *\n * @slots default - Modal body content\n * @slots title - Override header title\n * @slots footer - Footer content\n * @slots actions - Action buttons (receives { close })\n * @emits update:open\n * @emits close\n */\nimport { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet modalId = 0;\n\nexport default defineComponent({\n\tname: \"GnModal\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tcloseOnBackdrop: { type: Boolean, default: true }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-modal-title-${++modalId}`;\n\t\tconst dialogRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, dialogRef.value);\n\t\t\t}\n\t\t};\n\t\tconst focusDialog = () => {\n\t\t\tnextTick(() => {\n\t\t\t\tdialogRef.value?.focus();\n\t\t\t});\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = false;\n\t\t\t\tvisible.value = true;\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tfocusDialog();\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", { class: cx(\"modal\", closing.value ? \"a-hide\" : \"a-show\"), \"aria-hidden\": \"false\" }, [\n\t\t\t\th(\"div\", {\n\t\t\t\t\tclass: \"modal-backdrop\",\n\t\t\t\t\tonClick: () => props.closeOnBackdrop && close()\n\t\t\t\t}),\n\t\t\t\th(\"div\", {\n\t\t\t\t\tref: dialogRef,\n\t\t\t\t\tclass: \"modal-dialog\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"modal-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"modal-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon modal-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"modal-panel\" }, [\n\t\t\t\t\t\th(\"div\", { class: \"modal-body\" }, slots.default?.()),\n\t\t\t\t\t\t(slots.footer || slots.actions) && h(\"footer\", { class: \"modal-footer\" }, [\n\t\t\t\t\t\t\tslots.footer?.(),\n\t\t\t\t\t\t\tslots.actions && h(\"div\", { class: \"actions\" }, slots.actions({ close }))\n\t\t\t\t\t\t])\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCopyButton\",\n\tprops: {\n\t\ttext: { type: String, required: true },\n\t\ticon: { type: String, default: \"ph-copy\" },\n\t\tsuccessIcon: { type: String, default: \"ph-check\" },\n\t\tduration: { type: Number, default: 3000 },\n\t\tlabel: { type: String, default: \"Copy\" }\n\t},\n\temits: [\"copy\"],\n\tsetup(props, { emit }) {\n\t\tconst copied = ref(false);\n\t\tlet timer = null;\n\n\t\tconst copy = async () => {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(props.text);\n\t\t\t} catch {\n\t\t\t\t// Fallback for older browsers or non-secure contexts\n\t\t\t\tconst textarea = document.createElement(\"textarea\");\n\t\t\t\ttextarea.value = props.text;\n\t\t\t\ttextarea.style.position = \"fixed\";\n\t\t\t\ttextarea.style.opacity = \"0\";\n\t\t\t\tdocument.body.appendChild(textarea);\n\t\t\t\ttextarea.select();\n\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\tdocument.body.removeChild(textarea);\n\t\t\t}\n\n\t\t\tcopied.value = true;\n\t\t\twindow.clearTimeout(timer);\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tcopied.value = false;\n\t\t\t}, props.duration);\n\n\t\t\temit(\"copy\", props.text);\n\t\t};\n\n\t\treturn () => h(\"button\", {\n\t\t\tclass: \"btn-icon\",\n\t\t\ttype: \"button\",\n\t\t\t\"aria-label\": props.label,\n\t\t\tonClick: copy\n\t\t}, [iconNode(copied.value ? props.successIcon : props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDescriptionList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcompact: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"description-list\", { \"description-list-compact\": props.compact }, attrs.class)\n\t\t}, props.items.map(item => h(\"div\", { class: \"description-list-row\" }, [\n\t\t\th(\"dt\", { class: \"description-list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: cx(\"description-list-value\", item.muted && \"description-list-value-muted\") },\n\t\t\t\tslots[item.key]?.({ item }) || item.value\n\t\t\t)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDefinitionList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", { ...attrs, class: cx(\"list list-definition\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"list-row\"\n\t\t}, [\n\t\t\th(\"dt\", { class: \"list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: \"list-desc\" }, slots[item.key]?.({ item }) || item.description || item.value)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnDropdown\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Actions\" },\n\t\ticon: { type: String, default: \"ph-dots-three-outline\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\titems: { type: Array, default: () => [] }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst select = item => {\n\t\t\tif(item.disabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem.onSelect?.(item);\n\t\t\temit(\"select\", item);\n\t\t\tclose();\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"dropdown\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"dropdown-menu\", role: \"menu\" }, slots.default?.({ close }) || props.items.map(item => h(\"button\", {\n\t\t\t\tclass: cx(\"dropdown-item\", item.danger && \"dropdown-item-danger\"),\n\t\t\t\ttype: \"button\",\n\t\t\t\trole: \"menuitem\",\n\t\t\t\tdisabled: item.disabled,\n\t\t\t\tonClick: () => select(item)\n\t\t\t}, [\n\t\t\t\ticonNode(item.icon),\n\t\t\t\titem.label\n\t\t\t])))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet drawerId = 0;\n\nexport default defineComponent({\n\tname: \"GnDrawer\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tposition: { type: String, default: \"right\" }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-drawer-title-${++drawerId}`;\n\t\tconst panelRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, panelRef.value);\n\t\t\t}\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = false;\n\t\t\t\tvisible.value = true;\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => panelRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", {\n\t\t\t\tclass: cx(\"drawer\", closing.value ? \"a-hide\" : \"a-show\", { \"drawer-left\": props.position === \"left\" }),\n\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"drawer-backdrop\", onClick: close }),\n\t\t\t\th(\"aside\", {\n\t\t\t\t\tref: panelRef,\n\t\t\t\t\tclass: \"drawer-panel\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"drawer-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"drawer-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon drawer-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"drawer-body\" }, slots.default?.()),\n\t\t\t\t\tslots.footer && h(\"footer\", { class: \"drawer-footer\" }, slots.footer({ close }))\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnEmptyState\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-package\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"empty-state\", props.variant && `empty-state-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"empty-state-icon\" }, [iconNode(props.icon)]),\n\t\t\th(\"h3\", { class: \"empty-state-title\" }, slots.title?.() || props.title),\n\t\t\t(props.text || slots.default) && h(\"p\", { class: \"empty-state-text\" }, slots.default?.() || props.text),\n\t\t\tslots.actions && h(\"div\", { class: \"empty-state-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnBadge from \"./GnBadge.js\";\n\nfunction fileType(file) {\n\tconst ext = file.name.split(\".\").pop();\n\treturn ext ? ext.slice(0, 6).toUpperCase() : \"FILE\";\n}\n\nfunction fileSize(file) {\n\tif(!file.size) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(file.size) / Math.log(1024)), units.length - 1);\n\tconst value = file.size / Math.pow(1024, index);\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nexport default defineComponent({\n\tname: \"GnFileUpload\",\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\ttitle: { type: String, default: \"Upload files\" },\n\t\tdescription: { type: String, default: \"Attach documents, archives or images.\" },\n\t\tprimary: { type: String, default: \"Choose files\" },\n\t\tsecondary: { type: String, default: \"Images get thumbnails, other files show their type\" },\n\t\tbadge: { type: String, default: \"\" },\n\t\tmultiple: { type: Boolean, default: true },\n\t\taccept: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"change\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst urls = ref(new Map());\n\t\tconst revokeFile = file => {\n\t\t\tconst url = urls.value.get(file);\n\n\t\t\tif(url) {\n\t\t\t\tURL.revokeObjectURL(url);\n\t\t\t\turls.value.delete(file);\n\t\t\t}\n\t\t};\n\t\tconst revokeAll = () => {\n\t\t\turls.value.forEach(url => URL.revokeObjectURL(url));\n\t\t\turls.value.clear();\n\t\t};\n\t\tconst setFiles = fileList => {\n\t\t\tconst files = Array.from(fileList || []);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst remove = index => {\n\t\t\trevokeFile(props.modelValue[index]);\n\t\t\tconst files = props.modelValue.filter((_, itemIndex) => itemIndex !== index);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst previewUrl = file => {\n\t\t\tif(!file.type?.startsWith(\"image/\")) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\n\t\t\tif(!urls.value.has(file)) {\n\t\t\t\turls.value.set(file, URL.createObjectURL(file));\n\t\t\t}\n\n\t\t\treturn urls.value.get(file);\n\t\t};\n\n\t\twatch(() => props.modelValue, files => {\n\t\t\tconst active = new Set(files);\n\t\t\t[...urls.value.keys()].forEach(file => {\n\t\t\t\tif(!active.has(file)) {\n\t\t\t\t\trevokeFile(file);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tonBeforeUnmount(revokeAll);\n\n\t\treturn () => h(\"div\", { class: \"file-upload-panel\" }, [\n\t\t\th(\"div\", { class: \"file-upload-form\" }, [\n\t\t\t\th(\"div\", { class: \"file-upload-header\" }, [\n\t\t\t\t\th(\"div\", { class: \"file-upload-heading\" }, [\n\t\t\t\t\t\th(\"h3\", { class: \"file-upload-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"p\", { class: \"file-upload-description\" }, slots.description?.() || props.description)\n\t\t\t\t\t]),\n\t\t\t\t\tprops.badge && h(GnBadge, { variant: \"info\" }, () => props.badge)\n\t\t\t\t]),\n\t\t\t\th(\"label\", { class: \"file-upload-dropzone\" }, [\n\t\t\t\t\th(\"span\", { class: \"file-upload-icon\", \"aria-hidden\": \"true\" }, [iconNode(\"ph-cloud-arrow-up\")]),\n\t\t\t\t\th(\"span\", { class: \"file-upload-body\" }, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-primary\" }, props.primary),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-secondary\" }, props.secondary)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"input\", {\n\t\t\t\t\t\ttype: \"file\",\n\t\t\t\t\t\tmultiple: props.multiple,\n\t\t\t\t\t\taccept: props.accept || undefined,\n\t\t\t\t\t\tonChange: event => setFiles(event.target.files)\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"file-upload-preview\", hidden: !props.modelValue.length }, props.modelValue.map((file, index) => h(\"figure\", {\n\t\t\t\t\tclass: \"file-upload-preview-item\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"file-upload-preview-remove\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": `Remove ${file.name}`,\n\t\t\t\t\t\tonClick: () => remove(index)\n\t\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\t\th(\"div\", { class: \"file-upload-preview-visual\" }, previewUrl(file)\n\t\t\t\t\t\t? h(\"img\", { src: previewUrl(file), alt: \"\" })\n\t\t\t\t\t\t: h(\"span\", { class: \"file-upload-preview-type\" }, fileType(file))\n\t\t\t\t\t),\n\t\t\t\t\th(\"figcaption\", {}, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-name\" }, file.name),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-meta\" }, `${fileType(file)} / ${fileSize(file)}`)\n\t\t\t\t\t])\n\t\t\t\t]))),\n\t\t\t\tslots.actions && h(\"div\", { class: \"file-upload-actions\" }, slots.actions()),\n\t\t\t\t!slots.actions && props.modelValue.length > 0 && h(\"div\", { class: \"file-upload-actions\" }, [\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\trevokeAll();\n\t\t\t\t\t\t\tsetFiles([]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => \"Reset\")\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnIconButton\",\n\tprops: {\n\t\ticon: { type: String, required: true },\n\t\tlabel: { type: String, required: true },\n\t\ttype: { type: String, default: \"button\" },\n\t\twithoutHover: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"button\", {\n\t\t\t...attrs,\n\t\t\ttype: props.type,\n\t\t\t\"aria-label\": props.label,\n\t\t\tclass: cx(\"btn-icon\", { \"without-hover\": props.withoutHover }, attrs.class)\n\t\t}, [iconNode(props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnIdentity\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tmeta: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"identity\" }, [\n\t\t\tslots.avatar?.() || h(GnAvatar, props.avatar),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"identity-meta\" }, slots.meta?.() || props.meta)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnInput - Text input field with label, icon, state, and help text.\n *\n * @typedef {Object} GnInputProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [type='text'] - input type attribute\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-pencil-simple\")\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n *\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInput\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ttype: { type: String, default: \"text\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\ttype: props.type,\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInputGroup\",\n\tprops: {\n\t\tcompact: { type: Boolean, default: false },\n\t\taddon: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"input-group\", { \"input-group-compact\": props.compact }, attrs.class)\n\t\t}, [\n\t\t\t(props.addon || props.icon || slots.addon) && h(\"span\", { class: \"input-group-addon\" }, slots.addon?.() || iconNode(props.icon) || props.addon),\n\t\t\tslots.default?.(),\n\t\t\tslots.action && h(\"span\", { class: \"input-group-action\" }, slots.action())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tordered: { type: Boolean, default: false },\n\t\ticons: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst tag = props.ordered ? \"ol\" : \"ul\";\n\n\t\treturn () => h(tag, {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"list\", {\n\t\t\t\t\"list-ordered\": props.ordered,\n\t\t\t\t\"with-icons\": props.icons\n\t\t\t}, attrs.class)\n\t\t}, props.items.map(item => h(\"li\", { class: \"list-item\" }, [\n\t\t\ticonNode(item.icon),\n\t\t\tslots.item?.({ item }) || item.label || item\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnLoader\",\n\tprops: {\n\t\tcircle: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"Loading\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => props.circle\n\t\t\t? h(\"div\", { ...attrs, class: cx(\"circle-loader\", attrs.class) }, [\n\t\t\t\ticonNode(\"ph-bold ph-spinner normalize\"),\n\t\t\t\tprops.label\n\t\t\t])\n\t\t\t: h(\"div\", { ...attrs, class: cx(\"loader\", attrs.class), role: \"status\", \"aria-label\": props.label });\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnMetricCard\",\n\tprops: {\n\t\tlabel: { type: String, required: true },\n\t\tvalue: { type: [String, Number], required: true },\n\t\ticon: { type: String, default: \"ph-chart-line-up\" },\n\t\tdelta: { type: String, default: \"\" },\n\t\tnegative: { type: Boolean, default: false },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card metric-card\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"metric-card-header\" }, [\n\t\t\t\t\th(\"p\", { class: \"metric-card-label\" }, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"metric-card-icon\" }, [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\th(\"p\", { class: \"metric-card-value\" }, slots.value?.() || props.value),\n\t\t\t\t(props.delta || props.meta || slots.meta) && h(\"div\", { class: \"metric-card-meta\" }, [\n\t\t\t\t\tprops.delta && h(\"span\", {\n\t\t\t\t\t\tclass: cx(\"metric-card-delta\", { \"metric-card-delta-negative\": props.negative })\n\t\t\t\t\t}, props.delta),\n\t\t\t\t\tslots.meta?.() || props.meta\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\n\nexport default defineComponent({\n\tname: \"GnNavList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tconst resolveHref = to => {\n\t\t\tif(!to) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tif(typeof to === \"string\") {\n\t\t\t\treturn to;\n\t\t\t}\n\n\t\t\tif(to.path) {\n\t\t\t\treturn to.path;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst navItems = computed(() => props.items.map(item => {\n\t\t\tconst hasTo = Boolean(item.to);\n\t\t\tconst resolvedHref = hasTo\n\t\t\t\t? (hasRouter ? router.resolve(item.to).href : resolveHref(item.to))\n\t\t\t\t: item.href;\n\t\t\tconst isActive = hasTo && hasRouter\n\t\t\t\t? isRouteActive(route, item.to, props.activeMatch)\n\t\t\t\t: Boolean(item.active);\n\n\t\t\treturn {\n\t\t\t\t...item,\n\t\t\t\tresolvedHref,\n\t\t\t\tisActive,\n\t\t\t\thasTo\n\t\t\t};\n\t\t}));\n\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-nav\", attrs.class) }, navItems.value.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", { \"list-item-active\": item.isActive })\n\t\t}, [\n\t\t\th(item.resolvedHref ? \"a\" : \"button\", {\n\t\t\t\tclass: \"list-action\",\n\t\t\t\thref: item.resolvedHref,\n\t\t\t\ttype: item.resolvedHref ? undefined : \"button\",\n\t\t\t\tonClick: event => {\n\t\t\t\t\tif(item.hasTo && hasRouter) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\trouter.push(item.to);\n\t\t\t\t\t}\n\n\t\t\t\t\titem.onSelect?.(item, event);\n\t\t\t\t\temit(\"select\", item);\n\t\t\t\t}\n\t\t\t}, [\n\t\t\t\th(\"span\", { class: \"list-label\" }, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\tslots.label?.({ item }) || item.label\n\t\t\t\t]),\n\t\t\t\t(item.meta || slots.meta) && h(\"span\", { class: \"list-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t])\n\t\t])));\n\t}\n});\n", "/**\n * Safe vue-router access without hard dependency.\n * Reads $router and $route from the component instance globalProperties.\n */\nimport { getCurrentInstance } from \"vue\";\n\nexport function tryUseRouter() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$router || null;\n}\n\nexport function tryUseRoute() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$route || null;\n}\n\n/**\n * Check whether a route target matches the current route.\n *\n * @param {import(\"vue\").Ref|Object} currentRoute\n * @param {string|Object} to\n * @param {string} strategy - 'exact' | 'prefix'\n * @returns {boolean}\n */\nexport function isRouteActive(currentRoute, to, strategy = \"prefix\") {\n\tif(!currentRoute) {\n\t\treturn false;\n\t}\n\n\tconst route = currentRoute.value || currentRoute;\n\n\tif(typeof to === \"string\") {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to;\n\t\t}\n\n\t\treturn route.path === to || route.path.startsWith(to + \"/\");\n\t}\n\n\tif(to.path) {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to.path;\n\t\t}\n\n\t\treturn route.path === to.path || route.path.startsWith(to.path + \"/\");\n\t}\n\n\tif(to.name) {\n\t\treturn route.name === to.name;\n\t}\n\n\treturn false;\n}\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnNavList from \"./GnNavList.js\";\n\nlet shellId = 0;\n\nexport default defineComponent({\n\tname: \"GnNavigationShell\",\n\tprops: {\n\t\tbrand: { type: String, default: \"GNexus UI Kit\" },\n\t\tlogoSrc: { type: String, default: \"/assets/imgs/gnexus-mark.svg\" },\n\t\tcurrent: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"Sections\" },\n\t\tsubtitle: { type: String, default: \"Navigation\" },\n\t\tfooterLeft: { type: String, default: \"\" },\n\t\tfooterRight: { type: String, default: \"\" },\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst drawerId = `gn-nav-drawer-${++shellId}`;\n\t\tconst drawerRef = ref(null);\n\t\tlet previousFocus = null;\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\twatch(open, isOpen => {\n\t\t\tif(isOpen) {\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.body.classList.add(\"nav-drawer-open\");\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => drawerRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t}\n\t\t});\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t});\n\n\t\treturn () => [\n\t\t\th(\"header\", { class: \"nav-topbar\" }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"nav-topbar-toggle\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-controls\": drawerId,\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\tonClick: toggle\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(\"ph-sidebar-simple\"),\n\t\t\t\t\th(\"span\", {}, \"Menu\")\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-brand\" }, [\n\t\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", \"aria-hidden\": \"true\" }),\n\t\t\t\t\th(\"span\", {}, slots.brand?.() || props.brand)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-current\" }, slots.current?.() || props.current)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"nav-drawer-backdrop\", onClick: close }),\n\t\t\th(\"aside\", {\n\t\t\t\tref: drawerRef,\n\t\t\t\tclass: [\"nav-drawer\", { \"is-open\": open.value }],\n\t\t\t\tid: drawerId,\n\t\t\t\t\"aria-label\": \"Navigation\",\n\t\t\t\t\"aria-hidden\": open.value ? \"false\" : \"true\",\n\t\t\t\ttabindex: \"-1\"\n\t\t\t}, [\n\t\t\t\th(\"header\", { class: \"nav-drawer-header\" }, [\n\t\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-subtitle\" }, slots.subtitle?.() || props.subtitle)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"nav-drawer-close\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": \"Close navigation\",\n\t\t\t\t\t\tonClick: close\n\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t]),\n\t\t\t\th(\"nav\", { class: \"nav-drawer-body\" }, [\n\t\t\t\t\tslots.default?.({ close }) || h(GnNavList, {\n\t\t\t\t\t\titems: props.items,\n\t\t\t\t\t\tactiveMatch: props.activeMatch,\n\t\t\t\t\t\tonSelect: item => {\n\t\t\t\t\t\t\temit(\"select\", item);\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\t(slots.footer || props.footerLeft || props.footerRight) && h(\"footer\", { class: \"nav-drawer-footer\" },\n\t\t\t\t\tslots.footer?.() || [\n\t\t\t\t\t\th(\"span\", {}, props.footerLeft),\n\t\t\t\t\t\th(\"span\", {}, props.footerRight)\n\t\t\t\t\t]\n\t\t\t\t)\n\t\t\t]),\n\t\t\tslots.content?.()\n\t\t];\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPageHeader\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tsubtitle: { type: String, default: \"\" },\n\t\tkicker: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\taccent: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"header\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"page-header\", {\n\t\t\t\t\"page-header-compact\": props.compact,\n\t\t\t\t\"page-header-accent\": props.accent\n\t\t\t}, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"page-header-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"div\", { class: \"page-header-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h1\", { class: \"page-header-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.subtitle || slots.subtitle) && h(\"p\", { class: \"page-header-subtitle\" }, slots.subtitle?.() || props.subtitle),\n\t\t\t\tslots.meta && h(\"div\", { class: \"page-header-meta\" }, slots.meta())\n\t\t\t]),\n\t\t\tslots.actions && h(\"div\", { class: \"page-header-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnHorizontalCard\",\n\tprops: {\n\t\timage: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttitleHref: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst titleNode = () => {\n\t\t\tconst content = [iconNode(props.icon), slots.title?.() || props.title];\n\n\t\t\tif(props.titleHref) {\n\t\t\t\treturn h(\"a\", { href: props.titleHref, class: \"card-title-link\" }, content);\n\t\t\t}\n\n\t\t\treturn content;\n\t\t};\n\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card card-horizontal\", attrs.class)\n\t\t}, [\n\t\t\tprops.image && h(\"div\", { class: \"card-media\" }, [\n\t\t\t\th(\"img\", { src: props.image, alt: \"\" })\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-body\" }, [\n\t\t\t\t(props.title || props.icon || slots.title) && h(\"h3\", { class: \"card-title\" }, titleNode()),\n\t\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPagination\",\n\tprops: {\n\t\tpage: { type: Number, required: true },\n\t\ttotalPages: { type: Number, required: true },\n\t\tariaLabel: { type: String, default: \"Pagination\" }\n\t},\n\temits: [\"update:page\"],\n\tsetup(props, { emit }) {\n\t\tconst setPage = page => {\n\t\t\tif(page >= 1 && page <= props.totalPages && page !== props.page) {\n\t\t\t\temit(\"update:page\", page);\n\t\t\t}\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst pages = Array.from({ length: props.totalPages }, (_, index) => index + 1);\n\n\t\t\treturn h(\"nav\", { class: \"pagination\", \"aria-label\": props.ariaLabel }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page <= 1,\n\t\t\t\t\tonClick: () => setPage(props.page - 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-left\")]),\n\t\t\t\tpages.map(page => h(\"button\", {\n\t\t\t\t\tclass: cx(\"pagination-item\", { \"pagination-item-active\": page === props.page }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-current\": page === props.page ? \"page\" : undefined,\n\t\t\t\t\tonClick: () => setPage(page)\n\t\t\t\t}, page)),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page >= props.totalPages,\n\t\t\t\t\tonClick: () => setPage(props.page + 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-right\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnPopover\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Details\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-info\" },\n\t\tvariant: { type: String, default: \"accent\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"popover\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"popover-panel\" }, [\n\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"popover-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"popover-text\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgress\",\n\tprops: {\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\tstriped: { type: Boolean, default: false },\n\t\tanimated: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\t\t\tconst variant = normalizeVariant(props.variant, \"secondary\");\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"progress\", `progress-${variant}`, {\n\t\t\t\t\t\"progress-striped\": props.striped,\n\t\t\t\t\t\"progress-animated\": props.animated\n\t\t\t\t}, attrs.class),\n\t\t\t\tstyle: { \"--progress-value\": `${percent}%` }\n\t\t\t}, [\n\t\t\t\t(props.label || slots.label) && h(\"div\", { class: \"progress-header\" }, [\n\t\t\t\t\th(\"span\", {}, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"progress-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"progress-track\" }, [\n\t\t\t\t\th(\"span\", {\n\t\t\t\t\t\tclass: \"progress-bar\",\n\t\t\t\t\t\trole: \"progressbar\",\n\t\t\t\t\t\t\"aria-valuenow\": props.value,\n\t\t\t\t\t\t\"aria-valuemin\": 0,\n\t\t\t\t\t\t\"aria-valuemax\": props.max\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgressStages\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"progress-stages\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: cx(\"progress-stage\", {\n\t\t\t\t\"progress-stage-complete\": item.status === \"complete\",\n\t\t\t\t\"progress-stage-current\": item.status === \"current\"\n\t\t\t})\n\t\t}, item.label || item)));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRadio\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tvalue: { type: [String, Number, Boolean], required: true },\n\t\tlabel: { type: String, default: \"\" },\n\t\tname: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"radio\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"radio\",\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: props.value,\n\t\t\t\tchecked: props.modelValue === props.value,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: () => emit(\"update:modelValue\", props.value)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"radio-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"radio-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnRadio from \"./GnRadio.js\";\n\nexport default defineComponent({\n\tname: \"GnRadioGroup\",\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tname: { type: String, default: \"gn-radio-group\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\treturn () => h(\"div\", { class: \"form-group\", role: \"radiogroup\", \"aria-label\": props.label || undefined }, [\n\t\t\tprops.label && h(\"div\", { class: \"label\" }, props.label),\n\t\t\tslots.default?.() || props.options.map(option => h(GnRadio, {\n\t\t\t\tmodelValue: props.modelValue,\n\t\t\t\t\"onUpdate:modelValue\": value => emit(\"update:modelValue\", value),\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: option.value,\n\t\t\t\tlabel: option.label,\n\t\t\t\tdisabled: option.disabled\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { eventValue } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRange\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [Number, String], default: 0 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tmin: { type: [Number, String], default: 0 },\n\t\tmax: { type: [Number, String], default: 100 },\n\t\tstep: { type: [Number, String], default: 1 }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"range\" }, [\n\t\t\th(\"label\", { class: \"label\" }, [\n\t\t\t\tprops.label,\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\ttype: \"range\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tmin: props.min,\n\t\t\t\t\tmax: props.max,\n\t\t\t\t\tstep: props.step,\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnRouterTabs \u2014 Router-aware tab switcher.\n *\n * Wraps GnTabs and drives active state from the current vue-router route.\n * When a tab is activated, the component calls router.push(item.to)\n * instead of emitting update:modelValue.\n *\n * @typedef {Object} GnRouterTabsItem\n * @property {string} id - Slot name and tab identifier\n * @property {string|Object} to - Route target (string path or { name, params, query })\n * @property {string} label - Tab label text\n * @property {string} [icon] - Phosphor icon name with ph- prefix\n * @property {boolean} [disabled] - Disabled state\n *\n * @typedef {Object} GnRouterTabsProps\n * @property {Array} items - Array of GnRouterTabsItem\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label\n * @property {string} [activeMatch='prefix'] - 'exact' | 'prefix' \u2014 how to match current route against item.to\n *\n * @slots [item.id] - One slot per item id\n */\nimport { computed, defineComponent, h, watch } from \"vue\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\nimport GnTabs from \"./GnTabs.js\";\n\nexport default defineComponent({\n\tname: \"GnRouterTabs\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tif(!hasRouter && typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\"[gnexus-ui-kit] GnRouterTabs requires vue-router. Falling back to standard tabs.\");\n\t\t}\n\n\t\tconst tabItems = computed(() => props.items.map(item => ({\n\t\t\tid: item.id,\n\t\t\tlabel: item.label,\n\t\t\ticon: item.icon,\n\t\t\tdisabled: item.disabled,\n\t\t\tto: item.to\n\t\t})));\n\n\t\tconst activeId = computed(() => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t\t}\n\n\t\t\tconst matched = tabItems.value.find(item => {\n\t\t\t\tif(item.disabled || !item.to) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn isRouteActive(route, item.to, props.activeMatch);\n\t\t\t});\n\n\t\t\treturn matched?.id || tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t});\n\n\t\tconst onUpdate = id => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst item = tabItems.value.find(i => i.id === id);\n\n\t\t\tif(item && item.to) {\n\t\t\t\trouter.push(item.to);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(GnTabs, {\n\t\t\tmodelValue: activeId.value,\n\t\t\titems: tabItems.value,\n\t\t\tcompact: props.compact,\n\t\t\tvertical: props.vertical,\n\t\t\tariaLabel: props.ariaLabel,\n\t\t\t\"onUpdate:modelValue\": onUpdate\n\t\t}, slots);\n\t}\n});\n", "/**\n * GnTabs - Accessible tab switcher with keyboard navigation.\n *\n * @typedef {Object} GnTabsProps\n * @property {string} [modelValue=''] - Active tab id\n * @property {Array} items - Array of { id, label, icon?, disabled? }\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label for the tablist\n *\n * @slots [item.id] - One slot per item id: \n * @emits update:modelValue\n */\nimport { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTabs\",\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst activeId = computed(() => props.modelValue || props.items.find(item => !item.disabled)?.id || props.items[0]?.id);\n\n\t\tconst activate = item => {\n\t\t\tif(!item.disabled) {\n\t\t\t\temit(\"update:modelValue\", item.id);\n\t\t\t}\n\t\t};\n\t\tconst enabledItems = () => props.items.filter(item => !item.disabled);\n\t\tconst move = (item, direction) => {\n\t\t\tconst items = enabledItems();\n\t\t\tconst index = items.findIndex(enabled => enabled.id === item.id);\n\t\t\tconst next = items[(index + direction + items.length) % items.length];\n\t\t\tactivate(next);\n\t\t};\n\t\tconst handleKeydown = (event, item) => {\n\t\t\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, 1);\n\t\t\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, -1);\n\t\t\t} else if(event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tactivate(enabledItems()[0]);\n\t\t\t} else if(event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst items = enabledItems();\n\t\t\t\tactivate(items[items.length - 1]);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"tabs\", {\n\t\t\t\t\"tabs-compact\": props.compact,\n\t\t\t\t\"tabs-vertical\": props.vertical\n\t\t\t})\n\t\t}, [\n\t\t\th(\"div\", { class: \"tabs-list\", role: \"tablist\", \"aria-label\": props.ariaLabel }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\t\t\t\tconst panelId = `${item.id}-panel`;\n\n\t\t\t\treturn h(\"button\", {\n\t\t\t\t\tclass: cx(\"tab\", { \"tab-active\": active }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\trole: \"tab\",\n\t\t\t\t\t\"aria-selected\": active ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": panelId,\n\t\t\t\t\t\"aria-disabled\": item.disabled ? \"true\" : undefined,\n\t\t\t\t\ttabindex: active ? \"0\" : \"-1\",\n\t\t\t\t\tonClick: () => activate(item),\n\t\t\t\t\tonKeydown: event => handleKeydown(event, item)\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\titem.label\n\t\t\t\t]);\n\t\t\t})),\n\t\t\th(\"div\", { class: \"tabs-panels\" }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\n\t\t\t\treturn h(\"div\", {\n\t\t\t\t\tid: `${item.id}-panel`,\n\t\t\t\t\tclass: cx(\"tab-panel\", { \"tab-panel-active\": active }),\n\t\t\t\t\trole: \"tabpanel\",\n\t\t\t\t\thidden: !active\n\t\t\t\t}, slots[item.id]?.({ item, active }) || (active && slots.default?.({ item, active })));\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSearchField\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tcompact: { type: Boolean, default: true },\n\t\tclearable: { type: Boolean, default: true }\n\t},\n\temits: [\"update:modelValue\", \"clear\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst clear = () => {\n\t\t\temit(\"update:modelValue\", \"\");\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"input-group search-field\", { \"input-group-compact\": props.compact })\n\t\t}, [\n\t\t\th(\"span\", { class: \"input-group-addon\" }, [iconNode(\"ph-magnifying-glass\")]),\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"search\",\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\tclass: cx(\"input-group-input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t}),\n\t\t\tprops.clearable && h(\"button\", {\n\t\t\t\tclass: \"input-group-action\",\n\t\t\t\ttype: \"button\",\n\t\t\t\t\"aria-label\": \"Clear search\",\n\t\t\t\tonClick: clear\n\t\t\t}, [iconNode(\"ph-x\")])\n\t\t]);\n\t}\n});\n", "/**\n * GnSelect - Dropdown select with label, icon, state, and help text.\n *\n * @typedef {Object} GnSelectProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {Array} [options=[]] - Array of strings or { value, label } objects\n *\n * @slots default - Override option nodes\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSelect\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst optionNodes = () => props.options.map(option => {\n\t\t\tconst value = typeof option === \"object\" ? option.value : option;\n\t\t\tconst label = typeof option === \"object\" ? option.label : option;\n\n\t\t\treturn h(\"option\", { value }, label);\n\t\t});\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"div\", { class: \"select-wrap\" }, [\n\t\t\t\t\th(\"select\", {\n\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\t\tclass: cx(\"input select\", attrs.class),\n\t\t\t\t\t\tonChange: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t\t}, slots.default?.() || optionNodes())\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSkeleton\",\n\tprops: {\n\t\ttype: { type: String, default: \"line\" },\n\t\tstack: { type: Boolean, default: false },\n\t\tcount: { type: Number, default: 1 }\n\t},\n\tsetup(props, { attrs }) {\n\t\tconst skeleton = key => h(\"span\", {\n\t\t\tkey,\n\t\t\t...attrs,\n\t\t\tclass: cx(\"skeleton\", `skeleton-${props.type}`, attrs.class)\n\t\t});\n\n\t\treturn () => props.stack\n\t\t\t? h(\"div\", { class: \"skeleton-stack\" }, Array.from({ length: props.count }, (_, index) => skeleton(index)))\n\t\t\t: skeleton(0);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSteps\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tvertical: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"ol\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"steps\", { \"steps-vertical\": props.vertical }, attrs.class)\n\t\t}, props.items.map((item, index) => h(\"li\", {\n\t\t\tclass: cx(\"step\", {\n\t\t\t\t\"step-complete\": item.status === \"complete\",\n\t\t\t\t\"step-current\": item.status === \"current\",\n\t\t\t\t\"step-disabled\": item.disabled || item.status === \"disabled\"\n\t\t\t})\n\t\t}, [\n\t\t\th(\"span\", { class: \"step-marker\" }, item.marker || String(index + 1)),\n\t\t\th(\"h3\", { class: \"step-title\" }, item.title),\n\t\t\titem.text && h(\"p\", { class: \"step-text\" }, item.text)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnStatusCard\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-stack\" },\n\t\tvariant: { type: String, default: \"primary\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst variant = normalizeVariant(props.variant);\n\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card status-card\", `card-${variant}`, attrs.class) }, [\n\t\t\th(\"span\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"status-icon-container\" }, [\n\t\t\t\t\th(\"div\", { class: \"status-icon\" }, slots.icon?.() || [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"status-name\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnTable - Data table with columns, rows, scoped cell slots, and empty state.\n *\n * @typedef {Object} GnTableProps\n * @property {Array} columns - Array of { key, label } column definitions\n * @property {Array} [rows=[]] - Array of row data objects\n * @property {string} [caption=''] - Table caption\n * @property {string} [emptyText='Empty'] - Text shown when rows is empty\n *\n * @slots cell-${column.key} - Scoped slot per column: { row, column, value }\n * @slots empty - Override empty state\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTable\",\n\tprops: {\n\t\tcolumns: { type: Array, required: true },\n\t\trows: { type: Array, default: () => [] },\n\t\tcaption: { type: String, default: \"\" },\n\t\temptyText: { type: String, default: \"Empty\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { class: \"table-wrapper\" }, [\n\t\t\th(\"table\", { class: cx(\"table data-list\", { \"table-empty\": !props.rows.length }, attrs.class) }, [\n\t\t\t\tprops.caption && h(\"caption\", { class: \"table-caption\" }, props.caption),\n\t\t\t\th(\"thead\", { class: \"table-head\" }, [\n\t\t\t\t\th(\"tr\", { class: \"table-row\" }, props.columns.map(column => h(\"th\", { scope: \"col\" }, column.label)))\n\t\t\t\t]),\n\t\t\t\th(\"tbody\", { class: \"table-body\" }, props.rows.length\n\t\t\t\t\t? props.rows.map(row => h(\"tr\", { class: \"table-row\" }, props.columns.map(column => {\n\t\t\t\t\t\tconst name = `cell-${column.key}`;\n\t\t\t\t\t\treturn h(\"td\", {}, slots[name]?.({ row, column, value: row[column.key] }) || row[column.key]);\n\t\t\t\t\t})))\n\t\t\t\t\t: h(\"tr\", {}, [h(\"td\", { class: \"is-empty\", colspan: props.columns.length }, slots.empty?.() || props.emptyText)])\n\t\t\t\t)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTextarea\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"textarea\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTimeline\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ol\", { ...attrs, class: cx(\"timeline\", attrs.class) }, props.items.map(item => {\n\t\t\tconst variant = item.variant ? normalizeVariant(item.variant) : \"\";\n\n\t\t\treturn h(\"li\", { class: cx(\"timeline-item\", variant && `timeline-item-${variant}`) }, [\n\t\t\t\th(\"span\", { class: \"timeline-marker\" }, [iconNode(item.icon || \"ph-circle\")]),\n\t\t\t\th(\"div\", { class: \"timeline-content\" }, [\n\t\t\t\t\th(\"article\", { class: \"timeline-card\" }, [\n\t\t\t\t\t\th(\"header\", { class: \"timeline-header\" }, [\n\t\t\t\t\t\t\th(\"h3\", { class: \"timeline-title\" }, item.title),\n\t\t\t\t\t\t\titem.time && h(\"time\", { class: \"timeline-time\" }, item.time)\n\t\t\t\t\t\t]),\n\t\t\t\t\t\th(\"p\", { class: \"timeline-text\" }, slots[item.key]?.({ item }) || item.text),\n\t\t\t\t\t\t(item.meta || slots.meta) && h(\"div\", { class: \"timeline-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTooltip\",\n\tprops: {\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst open = ref(false);\n\n\t\treturn () => h(\"span\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"tooltip\", { \"is-open\": open.value }, attrs.class),\n\t\t\tonFocusin: () => {\n\t\t\t\topen.value = true;\n\t\t\t},\n\t\t\tonFocusout: () => {\n\t\t\t\topen.value = false;\n\t\t\t}\n\t\t}, [\n\t\t\tslots.default?.(),\n\t\t\th(\"span\", { class: \"tooltip-panel\", role: \"tooltip\" }, slots.panel?.() || props.text)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnToolbar\",\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"toolbar\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"toolbar-group\" }, [\n\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"toolbar-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"toolbar-meta\" }, slots.meta?.() || props.meta)\n\t\t\t\t])\n\t\t\t]),\n\t\t\t(slots.default || slots.actions) && h(\"div\", { class: \"toolbar-group\" }, slots.actions?.() || slots.default?.())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, provide, ref } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\nimport { toastKey } from \"../composables/toast-context.js\";\n\nconst iconByVariant = {\n\tinfo: \"ph-info\",\n\tsuccess: \"ph-check-circle\",\n\twarning: \"ph-warning\",\n\tdanger: \"ph-warning-octagon\",\n\terror: \"ph-warning-octagon\",\n\tprimary: \"ph-info\",\n\tsecondary: \"ph-info\"\n};\n\nexport default defineComponent({\n\tname: \"GnToastProvider\",\n\tprops: {\n\t\tlifetime: { type: Number, default: 4000 }\n\t},\n\tsetup(props, { slots, expose }) {\n\t\tconst toast = ref(null);\n\t\tconst closing = ref(false);\n\t\tlet timer = null;\n\t\tlet closeTimer = null;\n\n\t\tconst dismiss = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\tclosing.value = true;\n\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\ttoast.value = null;\n\t\t\t\tclosing.value = false;\n\t\t\t\twindow.clearTimeout(timer);\n\t\t\t\ttimer = null;\n\t\t\t}, 300);\n\t\t};\n\n\t\tconst close = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearTimeout(timer);\n\t\t\tclosing.value = false;\n\t\t\ttoast.value = null;\n\t\t};\n\n\t\tconst show = options => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\tclosing.value = false;\n\t\t\tconst variant = normalizeVariant(options.variant || options.type || \"info\", \"info\");\n\t\t\ttoast.value = {\n\t\t\t\tid: Date.now(),\n\t\t\t\tvariant: variant === \"error\" ? \"danger\" : variant,\n\t\t\t\ttitle: options.title || \"\",\n\t\t\t\ttext: options.text || options.message || \"\",\n\t\t\t\ticon: options.icon || iconByVariant[variant] || iconByVariant.info\n\t\t\t};\n\n\t\t\twindow.clearTimeout(timer);\n\n\t\t\tif(options.lifetime !== 0) {\n\t\t\t\ttimer = window.setTimeout(dismiss, options.lifetime || props.lifetime);\n\t\t\t}\n\t\t};\n\n\t\tconst api = {\n\t\t\tshow,\n\t\t\tclose,\n\t\t\tinfo: options => show({ ...options, variant: \"info\" }),\n\t\t\tsuccess: options => show({ ...options, variant: \"success\" }),\n\t\t\twarning: options => show({ ...options, variant: \"warning\" }),\n\t\t\tdanger: options => show({ ...options, variant: \"danger\" }),\n\t\t\terror: options => show({ ...options, variant: \"danger\" })\n\t\t};\n\n\t\tprovide(toastKey, api);\n\t\texpose(api);\n\n\t\treturn () => [\n\t\t\tslots.default?.(),\n\t\t\ttoast.value && h(\"div\", {\n\t\t\t\tclass: cx(\"toast\", closing.value ? \"a-hide\" : \"a-show\", `toast-${toast.value.variant}`),\n\t\t\t\trole: \"alert\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"toast-content\" }, [\n\t\t\t\t\th(\"h4\", { class: \"toast-title\" }, [\n\t\t\t\t\t\ticonNode(toast.value.icon),\n\t\t\t\t\t\ttoast.value.title\n\t\t\t\t\t]),\n\t\t\t\t\th(\"p\", { class: \"toast-text\" }, toast.value.text)\n\t\t\t\t]),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"btn-icon toast-close\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\tonClick: dismiss\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t])\n\t\t];\n\t}\n});\n", "export const toastKey = Symbol(\"gnexus-ui-kit-toast\");\n", "import { defineComponent, h } from \"vue\";\nimport GnProgress from \"./GnProgress.js\";\n\nexport default defineComponent({\n\tname: \"GnUsageMeter\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\n\t\t\treturn h(\"section\", { class: \"usage-meter\" }, [\n\t\t\t\th(\"h3\", { class: \"usage-meter-title\" }, [\n\t\t\t\t\tslots.title?.() || props.title,\n\t\t\t\t\th(\"span\", { class: \"usage-meter-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(GnProgress, { value: props.value, max: props.max }),\n\t\t\t\t(props.meta || slots.meta) && h(\"p\", { class: \"usage-meter-meta\" }, slots.meta?.() || props.meta)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { inject } from \"vue\";\nimport { toastKey } from \"./toast-context.js\";\n\nexport function useToast() {\n\tconst api = inject(toastKey, null);\n\n\tif(api) {\n\t\treturn api;\n\t}\n\n\tconst missingProvider = () => {\n\t\tthrow new Error(\"GNexus UI Kit: useToast() requires near the app root.\");\n\t};\n\n\treturn {\n\t\tshow: missingProvider,\n\t\tinfo: missingProvider,\n\t\tsuccess: missingProvider,\n\t\twarning: missingProvider,\n\t\tdanger: missingProvider,\n\t\terror: missingProvider,\n\t\tclose: missingProvider\n\t};\n}\n\nexport default useToast;\n", "import GnAccordion from \"./components/GnAccordion.js\";\nimport GnActionCard from \"./components/GnActionCard.js\";\nimport GnActionList from \"./components/GnActionList.js\";\nimport GnActivityLog from \"./components/GnActivityLog.js\";\nimport GnAlert from \"./components/GnAlert.js\";\nimport GnAvatar from \"./components/GnAvatar.js\";\nimport GnAvatarStack from \"./components/GnAvatarStack.js\";\nimport GnBadge from \"./components/GnBadge.js\";\nimport GnButton from \"./components/GnButton.js\";\nimport GnCard from \"./components/GnCard.js\";\nimport GnCheckbox from \"./components/GnCheckbox.js\";\nimport GnChip from \"./components/GnChip.js\";\nimport GnCopyButton from \"./components/GnCopyButton.js\";\nimport GnChipGroup from \"./components/GnChipGroup.js\";\nimport GnCombobox from \"./components/GnCombobox.js\";\nimport GnConfirmDialog from \"./components/GnConfirmDialog.js\";\nimport GnDescriptionList from \"./components/GnDescriptionList.js\";\nimport GnDefinitionList from \"./components/GnDefinitionList.js\";\nimport GnDropdown from \"./components/GnDropdown.js\";\nimport GnDrawer from \"./components/GnDrawer.js\";\nimport GnEmptyState from \"./components/GnEmptyState.js\";\nimport GnFileUpload from \"./components/GnFileUpload.js\";\nimport GnIconButton from \"./components/GnIconButton.js\";\nimport GnIdentity from \"./components/GnIdentity.js\";\nimport GnInput from \"./components/GnInput.js\";\nimport GnInputGroup from \"./components/GnInputGroup.js\";\nimport GnList from \"./components/GnList.js\";\nimport GnLoader from \"./components/GnLoader.js\";\nimport GnMetricCard from \"./components/GnMetricCard.js\";\nimport GnModal from \"./components/GnModal.js\";\nimport GnNavList from \"./components/GnNavList.js\";\nimport GnNavigationShell from \"./components/GnNavigationShell.js\";\nimport GnPageHeader from \"./components/GnPageHeader.js\";\nimport GnHorizontalCard from \"./components/GnHorizontalCard.js\";\nimport GnPagination from \"./components/GnPagination.js\";\nimport GnPopover from \"./components/GnPopover.js\";\nimport GnProgress from \"./components/GnProgress.js\";\nimport GnProgressStages from \"./components/GnProgressStages.js\";\nimport GnRadio from \"./components/GnRadio.js\";\nimport GnRadioGroup from \"./components/GnRadioGroup.js\";\nimport GnRange from \"./components/GnRange.js\";\nimport GnRouterTabs from \"./components/GnRouterTabs.js\";\nimport GnSearchField from \"./components/GnSearchField.js\";\nimport GnSelect from \"./components/GnSelect.js\";\nimport GnSkeleton from \"./components/GnSkeleton.js\";\nimport GnSteps from \"./components/GnSteps.js\";\nimport GnStatusCard from \"./components/GnStatusCard.js\";\nimport GnSwitch from \"./components/GnSwitch.js\";\nimport GnTable from \"./components/GnTable.js\";\nimport GnTabs from \"./components/GnTabs.js\";\nimport GnTextarea from \"./components/GnTextarea.js\";\nimport GnTimeline from \"./components/GnTimeline.js\";\nimport GnTooltip from \"./components/GnTooltip.js\";\nimport GnToolbar from \"./components/GnToolbar.js\";\nimport GnToastProvider from \"./components/GnToastProvider.js\";\nimport GnUsageMeter from \"./components/GnUsageMeter.js\";\n\nexport const components = {\n\tGnAccordion,\n\tGnActionCard,\n\tGnActionList,\n\tGnActivityLog,\n\tGnAlert,\n\tGnAvatar,\n\tGnAvatarStack,\n\tGnBadge,\n\tGnButton,\n\tGnCard,\n\tGnCheckbox,\n\tGnChip,\n\tGnChipGroup,\n\tGnCopyButton,\n\tGnCombobox,\n\tGnConfirmDialog,\n\tGnDescriptionList,\n\tGnDefinitionList,\n\tGnDropdown,\n\tGnDrawer,\n\tGnEmptyState,\n\tGnFileUpload,\n\tGnIconButton,\n\tGnIdentity,\n\tGnInput,\n\tGnInputGroup,\n\tGnList,\n\tGnLoader,\n\tGnMetricCard,\n\tGnModal,\n\tGnNavList,\n\tGnNavigationShell,\n\tGnPageHeader,\n\tGnHorizontalCard,\n\tGnPagination,\n\tGnPopover,\n\tGnProgress,\n\tGnProgressStages,\n\tGnRadio,\n\tGnRadioGroup,\n\tGnRange,\n\tGnRouterTabs,\n\tGnSearchField,\n\tGnSelect,\n\tGnSkeleton,\n\tGnSteps,\n\tGnStatusCard,\n\tGnSwitch,\n\tGnTable,\n\tGnTabs,\n\tGnTextarea,\n\tGnTimeline,\n\tGnTooltip,\n\tGnToolbar,\n\tGnToastProvider,\n\tGnUsageMeter\n};\n\nexport default {\n\tinstall(app) {\n\t\tObject.entries(components).forEach(([name, component]) => {\n\t\t\tapp.component(name, component);\n\t\t});\n\t}\n};\n"], - "mappings": ";AAAA,SAAS,iBAAiB,KAAAA,IAAG,WAAW;;;ACAxC,SAAS,SAAS;AAEX,IAAM,WAAW,oBAAI,IAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAEM,SAAS,MAAM,OAAO;AAC5B,SAAO,MACL,QAAQ,UAAQ;AAChB,QAAG,CAAC,MAAM;AACT,aAAO,CAAC;AAAA,IACT;AAEA,QAAG,MAAM,QAAQ,IAAI,GAAG;AACvB,aAAO;AAAA,IACR;AAEA,QAAG,OAAO,SAAS,UAAU;AAC5B,aAAO,OAAO,QAAQ,IAAI,EACxB,OAAO,CAAC,CAAC,EAAE,OAAO,MAAM,OAAO,EAC/B,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI;AAAA,IACvB;AAEA,WAAO,CAAC,IAAI;AAAA,EACb,CAAC,EACA,OAAO,OAAO,EACd,KAAK,GAAG;AACX;AAEO,SAAS,iBAAiB,OAAO,WAAW,WAAW;AAC7D,SAAO,SAAS,IAAI,KAAK,IAAI,QAAQ;AACtC;AAEO,SAAS,SAAS,MAAM,aAAa,IAAI;AAC/C,MAAG,CAAC,MAAM;AACT,WAAO;AAAA,EACR;AAEA,QAAM,YAAY,KAAK,SAAS,KAAK,KAAK,KAAK,WAAW,KAAK;AAE/D,MAAG,CAAC,WAAW;AACd,QAAG,OAAO,YAAY,eAAe,QAAQ,OAAO,MAAuC;AAE1F,cAAQ,KAAK,yBAAyB,IAAI,mDAAmD,IAAI,YAAY;AAAA,IAC9G;AAAA,EACD;AAEA,QAAM,YAAY,YACf,OACA,MAAM,IAAI;AAEb,SAAO,EAAE,KAAK;AAAA,IACb,OAAO,GAAG,WAAW,UAAU;AAAA,IAC/B,eAAe;AAAA,EAChB,CAAC;AACF;AAMO,SAAS,WAAW,OAAO;AACjC,QAAM,SAAS,MAAM;AAErB,MAAG,OAAO,SAAS,YAAY;AAC9B,WAAO,OAAO;AAAA,EACf;AAEA,SAAO,OAAO;AACf;AAEO,IAAM,oBAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,EAAE,KAAK,GAAG;AAEH,SAAS,UAAU,OAAO,MAAM;AACtC,MAAG,MAAM,QAAQ,SAAS,CAAC,MAAM;AAChC;AAAA,EACD;AAEA,QAAM,YAAY,CAAC,GAAG,KAAK,iBAAiB,iBAAiB,CAAC,EAC5D,OAAO,UAAQ,CAAC,KAAK,aAAa,UAAU,KAAK,KAAK,iBAAiB,IAAI;AAE7E,MAAG,CAAC,UAAU,QAAQ;AACrB,UAAM,eAAe;AACrB,SAAK,MAAM;AACX;AAAA,EACD;AAEA,QAAM,QAAQ,UAAU,CAAC;AACzB,QAAM,OAAO,UAAU,UAAU,SAAS,CAAC;AAE3C,MAAG,MAAM,YAAY,SAAS,kBAAkB,OAAO;AACtD,UAAM,eAAe;AACrB,SAAK,MAAM;AAAA,EACZ,WAAU,CAAC,MAAM,YAAY,SAAS,kBAAkB,MAAM;AAC7D,UAAM,eAAe;AACrB,UAAM,MAAM;AAAA,EACb;AACD;;;AD5GA,IAAO,sBAAQ,gBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACrC,YAAY,EAAE,MAAM,CAAC,QAAQ,KAAK,GAAG,SAAS,GAAG;AAAA,IACjD,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,YAAY,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE;AAE9C,UAAM,UAAU,MAAM,MAAM,cAAc,UAAU;AACpD,UAAM,SAAS,QAAM,MAAM,WAAW,QAAQ,EAAE,SAAS,EAAE,IAAI,QAAQ,MAAM;AAC7E,UAAM,SAAS,QAAM;AACpB,UAAI;AAEJ,UAAG,MAAM,UAAU;AAClB,cAAM,UAAU,CAAC,GAAG,QAAQ,CAAC;AAC7B,eAAO,QAAQ,SAAS,EAAE,IAAI,QAAQ,OAAO,UAAQ,SAAS,EAAE,IAAI,CAAC,GAAG,SAAS,EAAE;AAAA,MACpF,OAAO;AACN,eAAO,OAAO,EAAE,IAAI,KAAK;AAAA,MAC1B;AAEA,gBAAU,QAAQ;AAClB,WAAK,qBAAqB,IAAI;AAAA,IAC/B;AAEA,WAAO,MAAMC,GAAE,OAAO,EAAE,OAAO,YAAY,GAAG,MAAM,MAAM,IAAI,UAAQ;AA9BxE;AA+BG,YAAM,OAAO,OAAO,KAAK,EAAE;AAE3B,aAAOA,GAAE,WAAW,EAAE,OAAO,kBAAkB,MAAM,OAAO,KAAK,OAAU,GAAG;AAAA,QAC7EA,GAAE,UAAU;AAAA,UACX,OAAO;AAAA,UACP,MAAM;AAAA,UACN,iBAAiB,OAAO,SAAS;AAAA,UACjC,SAAS,MAAM,OAAO,KAAK,EAAE;AAAA,QAC9B,GAAG;AAAA,UACFA,GAAE,QAAQ,EAAE,OAAO,4BAA4B,GAAG;AAAA,YACjD,SAAS,KAAK,IAAI;AAAA,YAClB,KAAK;AAAA,UACN,CAAC;AAAA,UACDA,GAAE,KAAK,EAAE,OAAO,GAAG,mCAAmC,EAAE,WAAW,KAAK,CAAC,GAAG,eAAe,OAAO,CAAC;AAAA,QACpG,CAAC;AAAA,QACD,QAAQA,GAAE,OAAO,EAAE,OAAO,kBAAkB,KAAG,WAAM,KAAK,QAAX,+BAAiB,EAAE,MAAM,KAAK,OAAM,KAAK,OAAO;AAAA,MAChG,CAAC;AAAA,IACF,CAAC,CAAC;AAAA,EACH;AACD,CAAC;;;AElDD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAEnC,IAAO,uBAAQD,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACpC,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAG;AAVZ;AAUe,aAAAC,GAAE,WAAW,EAAE,OAAO,mBAAmB,GAAG;AAAA,QACxDA,GAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,WAClC,MAAM,UAAU,MAAM,WAAWA,GAAE,QAAQ,EAAE,OAAO,qBAAqB,KAAG,WAAM,WAAN,mCAAoB,MAAM,MAAM;AAAA,UAC7GA,GAAE,MAAM,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACrE,MAAM,QAAQ,MAAM,YAAYA,GAAE,KAAK,EAAE,OAAO,mBAAmB,KAAG,WAAM,YAAN,mCAAqB,MAAM,IAAI;AAAA,UACtG,MAAM,WAAWA,GAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG,MAAM,QAAQ,CAAC;AAAA,QAC5E,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACnBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,uBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,GAAE,MAAM,EAAE,GAAG,OAAO,OAAO,GAAG,qBAAqB,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAK;AATvG;AAS0G,aAAAA,GAAE,MAAM;AAAA,QAC/G,OAAO,GAAG,aAAa,KAAK,SAAS,iBAAiB;AAAA,MACvD,GAAG;AAAA,QACFA,GAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,UACnCA,GAAE,OAAO,EAAE,OAAO,aAAa,KAAG,WAAM,UAAN,+BAAc,EAAE,KAAK,OAAM,KAAK,KAAK;AAAA,WACtE,KAAK,YAAY,MAAM,aAAaA,GAAE,OAAO,EAAE,OAAO,gBAAgB,KAAG,WAAM,aAAN,+BAAiB,EAAE,KAAK,OAAM,KAAK,QAAQ;AAAA,QACtH,CAAC;AAAA,QACD,MAAM,YAAYA,GAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG,MAAM,SAAS,EAAE,KAAK,CAAC,CAAC;AAAA,MAChF,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACnBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,wBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,GAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,gBAAgB,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAK;AATnG;AASsG,aAAAA,GAAE,OAAO;AAAA,QAC5G,OAAO;AAAA,MACR,GAAG;AAAA,QACFA,GAAE,QAAQ,EAAE,OAAO,oBAAoB,GAAG,KAAK,IAAI;AAAA,QACnDA,GAAE,QAAQ,EAAE,OAAO,qBAAqB,KAAG,WAAM,KAAK,SAAX,+BAAkB,EAAE,KAAK,OAAM,KAAK,KAAK;AAAA,QACpF,MAAM,WAAWA,GAAE,QAAQ,CAAC,GAAG,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAC;AAAA,MACvD,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACjBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,kBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,MAAM,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAM;AAVf;AAWG,YAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,aAAOC,GAAE,OAAO;AAAA,QACf,GAAG;AAAA,QACH,MAAM,MAAM;AAAA,QACZ,OAAO,GAAG,SAAS,SAAS,OAAO,IAAI,MAAM,KAAK;AAAA,MACnD,IAAG,WAAM,YAAN,8BAAiB;AAAA,IACrB;AAAA,EACD;AACD,CAAC;;;ACpBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,mBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,KAAK,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACjC,KAAK,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACjC,UAAU,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,IACpC,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACrC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAM;AACZ,YAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,aAAOC,GAAE,QAAQ;AAAA,QAChB,GAAG;AAAA,QACH,OAAO,GAAG,UAAU,UAAU,OAAO,IAAI;AAAA,UACxC,aAAa,MAAM,SAAS;AAAA,UAC5B,aAAa,MAAM,SAAS;AAAA,UAC5B,kBAAkB,MAAM;AAAA,UACxB,aAAa,MAAM,WAAW;AAAA,UAC9B,WAAW,MAAM,WAAW;AAAA,UAC5B,cAAc,MAAM,WAAW;AAAA,QAChC,GAAG,MAAM,KAAK;AAAA,MACf,GAAG;AAAA,QACF,MAAM,MAAMA,GAAE,OAAO,EAAE,KAAK,MAAM,KAAK,KAAK,MAAM,IAAI,CAAC,IAAI,SAAS,MAAM,IAAI,KAAK,MAAM;AAAA,QACzF,MAAM,UAAUA,GAAE,QAAQ,EAAE,OAAO,iBAAiB,eAAe,OAAO,CAAC;AAAA,MAC5E,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACnCD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,wBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,OAAO,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,GAAG;AAAA,EAC9C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAG;AAVZ;AAUe,aAAAC,GAAE,QAAQ,EAAE,OAAO,eAAe,GAAG;AAAA,QACjD,MAAM,MAAM,IAAI,UAAQA,GAAE,kBAAU,EAAE,GAAG,MAAM,MAAM,KAAK,QAAQ,KAAK,CAAC,CAAC;AAAA,SACzE,WAAM,YAAN;AAAA,QACA,MAAM,SAASA,GAAE,QAAQ,EAAE,OAAO,qBAAqB,GAAG,IAAI,MAAM,KAAK,EAAE;AAAA,MAC5E,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AChBD,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAGnC,IAAO,kBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC1C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAM;AAVf;AAWG,YAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,aAAOC,GAAE,QAAQ;AAAA,QAChB,GAAG;AAAA,QACH,OAAO;AAAA,UACN;AAAA,UACA,MAAM,WAAW,YAAY,YAAY,0BAA0B,SAAS,OAAO;AAAA,UACnF,MAAM;AAAA,QACP;AAAA,MACD,IAAG,WAAM,YAAN,8BAAiB;AAAA,IACrB;AAAA,EACD;AACD,CAAC;;;ACVD,SAAS,mBAAAC,kBAAiB,KAAAC,WAAS;AAGnC,IAAO,mBAAQC,iBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC5C,MAAM,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,IACpC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,MAAM,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAM;AA3Bf;AA4BG,YAAM,UAAU,QAAQ,MAAM,QAAQ,MAAM,OAAO;AACnD,YAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,aAAOC,IAAE,UAAU;AAAA,QAClB,GAAG;AAAA,QACH,MAAM,MAAM;AAAA,QACZ,UAAU,MAAM,YAAY,MAAM;AAAA,QAClC,OAAO;AAAA,UACN;AAAA,UACA,OAAO,OAAO;AAAA,UACd;AAAA,YACC,aAAa,MAAM,SAAS;AAAA,YAC5B,aAAa,MAAM,SAAS;AAAA,YAC5B,aAAa;AAAA,YACb,iBAAiB,MAAM;AAAA,UACxB;AAAA,UACA,MAAM;AAAA,QACP;AAAA,MACD,GAAG;AAAA,QACF,MAAM,UAAU,SAAS,oBAAoB,IAAI,SAAS,MAAM,IAAI;AAAA,SACpE,WAAM,YAAN;AAAA,MACD,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACpDD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,iBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACtC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAVZ;AAUe,aAAAC,IAAE,WAAW;AAAA,QACzB,GAAG;AAAA,QACH,OAAO,GAAG,QAAQ,MAAM,WAAW,QAAQ,MAAM,OAAO,IAAI,MAAM,KAAK;AAAA,MACxE,GAAG;AAAA,SACD,MAAM,SAAS,MAAM,UAAUA,IAAE,UAAU,EAAE,OAAO,aAAa,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,QACnGA,IAAE,OAAO,EAAE,OAAO,eAAe,IAAG,WAAM,YAAN,8BAAiB;AAAA,QACrD,MAAM,UAAUA,IAAE,UAAU,EAAE,OAAO,cAAc,GAAG,MAAM,OAAO,CAAC;AAAA,MACrE,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACnBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC5C,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,WAAO,MAAG;AAbZ;AAae,aAAAC,IAAE,SAAS,EAAE,OAAO,GAAG,YAAY,MAAM,KAAK,EAAE,GAAG;AAAA,QAC/DA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,MAAM;AAAA,UACN,SAAS,MAAM;AAAA,UACf,UAAU,MAAM;AAAA,UAChB,UAAU,WAAS,KAAK,qBAAqB,MAAM,OAAO,OAAO;AAAA,QAClE,CAAC;AAAA,QACDA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,eAAe,OAAO,CAAC;AAAA,QAC9DA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,KAAG,WAAM,YAAN,mCAAqB,MAAM,KAAK;AAAA,MACxE,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,iBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,WAAW,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,WAAO,MAAM;AAdf;AAeG,YAAM,MAAM,MAAM,UAAU,WAAW;AACvC,YAAM,UAAU,MAAM,UAAU,iBAAiB,MAAM,OAAO,IAAI;AAElE,aAAOC,IAAE,KAAK;AAAA,QACb,GAAG;AAAA,QACH,MAAM,QAAQ,WAAW,WAAW;AAAA,QACpC,UAAU,QAAQ,WAAW,MAAM,WAAW;AAAA,QAC9C,gBAAgB,QAAQ,WAAW,OAAO,MAAM,QAAQ,IAAI;AAAA,QAC5D,OAAO,GAAG,QAAQ,WAAW,QAAQ,OAAO,IAAI;AAAA,UAC/C,iBAAiB,MAAM;AAAA,UACvB,iBAAiB,MAAM;AAAA,QACxB,GAAG,MAAM,KAAK;AAAA,MACf,GAAG;AAAA,QACF,SAAS,MAAM,IAAI;AAAA,SACnB,WAAM,YAAN;AAAA,QACA,MAAM,aAAaA,IAAE,UAAU;AAAA,UAC9B,OAAO;AAAA,UACP,MAAM;AAAA,UACN,cAAc;AAAA,UACd,SAAS,WAAS;AACjB,kBAAM,gBAAgB;AACtB,iBAAK,QAAQ;AAAA,UACd;AAAA,QACD,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,MACtB,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;AC1CD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,sBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,MAAM,GAAG,EAAE,OAAO,MAAM,GAAG;AAC1B,WAAO,MAAG;AANZ;AAMe,aAAAC,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,cAAc,MAAM,KAAK,EAAE,IAAG,WAAM,YAAN,8BAAiB;AAAA;AAAA,EAC5F;AACD,CAAC;;;ACRD,SAAS,UAAU,mBAAAC,mBAAiB,KAAAC,KAAG,UAAU,OAAAC,YAAW;AAG5D,IAAI,aAAa;AAEjB,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,GAAG;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,SAAS,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IAC1C,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,IAC/C,cAAc,EAAE,MAAM,QAAQ,SAAS,gBAAgB;AAAA,IACvD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,OAAO,CAAC,qBAAqB,QAAQ;AAAA,EACrC,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,UAAM,KAAK,eAAe,EAAE,UAAU;AACtC,UAAM,YAAY,GAAG,EAAE;AACvB,UAAM,OAAOC,KAAI,KAAK;AACtB,UAAM,UAAUA,KAAI,EAAE;AACtB,UAAM,WAAWA,KAAI,IAAI;AACzB,UAAM,aAAa,SAAS,MAAM,MAAM,QAAQ,IAAI,YAAU,OAAO,WAAW,WAAW,SAAS;AAAA,MACnG,OAAO;AAAA,MACP,OAAO;AAAA,IACR,CAAC,CAAC;AACF,UAAM,QAAQ,SAAS,MAAG;AA7B5B;AA6B+B,qBAAO,WAAM,eAAN,YAAoB,EAAE,EAAE,YAAY;AAAA,KAAC;AACzE,UAAM,WAAW,SAAS,MAAM,WAAW,MAAM,OAAO,YAAU,OAAO,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,MAAM,KAAK,CAAC,CAAC;AAC3H,UAAM,SAAS,YAAU;AACxB,UAAG,CAAC,QAAQ;AACX;AAAA,MACD;AAEA,WAAK,qBAAqB,OAAO,KAAK;AACtC,WAAK,UAAU,MAAM;AACrB,WAAK,QAAQ;AACb,cAAQ,QAAQ;AAAA,IACjB;AACA,UAAM,OAAO,eAAa;AACzB,UAAG,CAAC,SAAS,MAAM,QAAQ;AAC1B;AAAA,MACD;AAEA,WAAK,QAAQ;AACb,cAAQ,SAAS,QAAQ,QAAQ,YAAY,SAAS,MAAM,UAAU,SAAS,MAAM;AACrF,eAAS,MAAM;AAhDlB;AAiDI,cAAM,aAAY,oBAAS,UAAT,mBAAgB,QAAQ,mBAAxB,mBAAwC,cAAc;AACxE,qDAAW,cAAc,qBAAzB,mBAA2C,eAAe,EAAE,OAAO,UAAU;AAAA,MAC9E,CAAC;AAAA,IACF;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,aAAa;AAC7B,cAAM,eAAe;AACrB,aAAK,CAAC;AAAA,MACP,WAAU,MAAM,QAAQ,WAAW;AAClC,cAAM,eAAe;AACrB,aAAK,EAAE;AAAA,MACR,WAAU,MAAM,QAAQ,SAAS;AAChC,cAAM,eAAe;AACrB,eAAO,SAAS,MAAM,QAAQ,KAAK,CAAC;AAAA,MACrC,WAAU,MAAM,QAAQ,UAAU;AACjC,aAAK,QAAQ;AACb,gBAAQ,QAAQ;AAAA,MACjB;AAAA,IACD;AAEA,WAAO,MAAMC,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,MAC9CA,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,QAC/C,MAAM;AAAA,QACN,SAAS,MAAM,IAAI;AAAA,QACnBA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,KAAK;AAAA,UACL;AAAA,UACA,MAAM;AAAA,UACN,OAAO,MAAM;AAAA,UACb,aAAa,MAAM;AAAA,UACnB,cAAc;AAAA,UACd,MAAM;AAAA,UACN,qBAAqB;AAAA,UACrB,iBAAiB,KAAK,QAAQ,SAAS;AAAA,UACvC,iBAAiB;AAAA,UACjB,yBAAyB,QAAQ,SAAS,IAAI,GAAG,EAAE,WAAW,QAAQ,KAAK,KAAK;AAAA,UAChF,OAAO,GAAG,SAAS,MAAM,KAAK;AAAA,UAC9B,SAAS,MAAM;AACd,iBAAK,QAAQ;AAAA,UACd;AAAA,UACA,QAAQ,MAAM;AACb,uBAAW,MAAM;AAChB,mBAAK,QAAQ;AAAA,YACd,GAAG,GAAG;AAAA,UACP;AAAA,UACA,SAAS,WAAS;AACjB,oBAAQ,QAAQ;AAChB,iBAAK,QAAQ;AACb,iBAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,UAC5C;AAAA,UACA;AAAA,QACD,CAAC;AAAA,MACF,CAAC;AAAA,MACDA,IAAE,OAAO,EAAE,OAAO,4BAA4B,GAAG;AAAA,QAChDA,IAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,EAAE,UAAU,KAAK,MAAM,CAAC,EAAE,GAAG;AAAA,UACpEA,IAAE,OAAO,EAAE,OAAO,0BAA0B,GAAG;AAAA,YAC9CA,IAAE,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,MAAM,CAAC,SAAS,MAAM,OAAO,CAAC,EAAE,GAAG,MAAM,YAAY;AAAA,YACzFA,IAAE,OAAO;AAAA,cACR,IAAI;AAAA,cACJ,OAAO,GAAG,WAAW,EAAE,MAAM,SAAS,MAAM,OAAO,CAAC;AAAA,cACpD,MAAM;AAAA,YACP,GAAG,SAAS,MAAM,IAAI,CAAC,QAAQ,UAAUA,IAAE,OAAO;AAAA,cACjD,IAAI,GAAG,EAAE,WAAW,KAAK;AAAA,cACzB,OAAO,GAAG,UAAU,EAAE,OAAO,UAAU,QAAQ,MAAM,CAAC;AAAA,cACtD,MAAM;AAAA,cACN,iBAAiB,UAAU,QAAQ,QAAQ,SAAS;AAAA,cACpD,cAAc,OAAO;AAAA,cACrB,sBAAsB,OAAO;AAAA,cAC7B,aAAa,WAAS;AACrB,sBAAM,eAAe;AACrB,uBAAO,MAAM;AAAA,cACd;AAAA,YACD,GAAG,OAAO,KAAK,CAAC,CAAC;AAAA,UAClB,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA,MACD,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,GAAG,cAAc,MAAM,UAAU,WAAW,OAAO,EAAE,GAAG,MAAM,IAAI;AAAA,IACnG,CAAC;AAAA,EACF;AACD,CAAC;;;ACjID,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;;;ACenC,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,YAAAC,WAAU,iBAAiB,OAAAC,MAAK,UAAU,aAAa;AAGpF,IAAI,UAAU;AAEd,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,iBAAiB,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,EACjD;AAAA,EACA,OAAO,CAAC,eAAe,OAAO;AAAA,EAC9B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,UAAU,kBAAkB,EAAE,OAAO;AAC3C,UAAM,YAAYC,KAAI,IAAI;AAC1B,UAAM,UAAUA,KAAI,KAAK;AACzB,UAAM,UAAUA,KAAI,KAAK;AACzB,QAAI,gBAAgB;AACpB,QAAI,aAAa;AAEjB,UAAM,QAAQ,MAAM;AACnB,WAAK,eAAe,KAAK;AACzB,WAAK,OAAO;AAAA,IACb;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP,OAAO;AACN,kBAAU,OAAO,UAAU,KAAK;AAAA,MACjC;AAAA,IACD;AACA,UAAM,cAAc,MAAM;AACzB,MAAAC,UAAS,MAAM;AAjDlB;AAkDI,wBAAU,UAAV,mBAAiB;AAAA,MAClB,CAAC;AAAA,IACF;AAEA,UAAM,MAAM,MAAM,MAAM,UAAQ;AAtDlC;AAuDG,UAAG,MAAM;AACR,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ;AAChB,wBAAgB,SAAS;AACzB,iBAAS,iBAAiB,WAAW,SAAS;AAC9C,oBAAY;AAAA,MACb,OAAO;AACN,gBAAQ,QAAQ;AAChB,iBAAS,oBAAoB,WAAW,SAAS;AACjD,6DAAe,UAAf;AACA,wBAAgB;AAChB,qBAAa,OAAO,WAAW,MAAM;AACpC,kBAAQ,QAAQ;AAChB,kBAAQ,QAAQ;AAAA,QACjB,GAAG,GAAG;AAAA,MACP;AAAA,IACD,GAAG,EAAE,OAAO,OAAO,CAAC;AAEpB,oBAAgB,MAAM;AACrB,eAAS,oBAAoB,WAAW,SAAS;AACjD,aAAO,aAAa,UAAU;AAAA,IAC/B,CAAC;AAED,WAAO,MAAG;AA9EZ;AA8Ee,qBAAQ,QAAQC,IAAE,UAAU,EAAE,IAAI,OAAO,GAAG;AAAA,QACxDA,IAAE,OAAO,EAAE,OAAO,GAAG,SAAS,QAAQ,QAAQ,WAAW,QAAQ,GAAG,eAAe,QAAQ,GAAG;AAAA,UAC7FA,IAAE,OAAO;AAAA,YACR,OAAO;AAAA,YACP,SAAS,MAAM,MAAM,mBAAmB,MAAM;AAAA,UAC/C,CAAC;AAAA,UACDA,IAAE,OAAO;AAAA,YACR,KAAK;AAAA,YACL,OAAO;AAAA,YACP,MAAM;AAAA,YACN,cAAc;AAAA,YACd,mBAAmB;AAAA,YACnB,UAAU;AAAA,UACX,GAAG;AAAA,YACFA,IAAE,UAAU,EAAE,OAAO,eAAe,GAAG;AAAA,cACtCA,IAAE,MAAM,EAAE,OAAO,eAAe,IAAI,QAAQ,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,cAC7EA,IAAE,UAAU;AAAA,gBACX,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,cAAc;AAAA,gBACd,SAAS;AAAA,cACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,YACtB,CAAC;AAAA,YACDA,IAAE,OAAO,EAAE,OAAO,cAAc,GAAG;AAAA,cAClCA,IAAE,OAAO,EAAE,OAAO,aAAa,IAAG,WAAM,YAAN,8BAAiB;AAAA,eAClD,MAAM,UAAU,MAAM,YAAYA,IAAE,UAAU,EAAE,OAAO,eAAe,GAAG;AAAA,iBACzE,WAAM,WAAN;AAAA,gBACA,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,UAAU,GAAG,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC;AAAA,cACzE,CAAC;AAAA,YACF,CAAC;AAAA,UACF,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC,IAAI;AAAA;AAAA,EACN;AACD,CAAC;;;AD5GD,IAAO,0BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,SAAS,wBAAwB;AAAA,IACxD,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,aAAa,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,IAC5C,YAAY,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,IAC1C,gBAAgB,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,EACpD;AAAA,EACA,OAAO,CAAC,eAAe,WAAW,QAAQ;AAAA,EAC1C,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,QAAQ,MAAM,KAAK,eAAe,KAAK;AAC7C,UAAM,SAAS,MAAM;AACpB,WAAK,QAAQ;AACb,YAAM;AAAA,IACP;AACA,UAAM,UAAU,MAAM;AACrB,WAAK,SAAS;AACd,YAAM;AAAA,IACP;AAEA,WAAO,MAAMC,IAAE,iBAAS;AAAA,MACvB,MAAM,MAAM;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,iBAAiB,WAAS,KAAK,eAAe,KAAK;AAAA,IACpD,GAAG;AAAA,MACF,SAAS,MAAG;AA/Bf;AA+BkB,4BAAM,YAAN,mCAAqBA,IAAE,KAAK,CAAC,GAAG,MAAM,OAAO;AAAA;AAAA,MAC5D,SAAS,MAAM;AAAA,QACdA,IAAE,kBAAU,EAAE,SAAS,WAAW,SAAS,OAAO,GAAG,MAAM,MAAM,UAAU;AAAA,QAC3EA,IAAE,kBAAU,EAAE,SAAS,MAAM,gBAAgB,SAAS,QAAQ,GAAG,MAAM,MAAM,WAAW;AAAA,MACzF;AAAA,IACD,CAAC;AAAA,EACF;AACD,CAAC;;;AEtCD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,OAAAC,YAAW;AAGxC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,MAAM,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IACzC,aAAa,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IACjD,UAAU,EAAE,MAAM,QAAQ,SAAS,IAAK;AAAA,IACxC,OAAO,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,EACxC;AAAA,EACA,OAAO,CAAC,MAAM;AAAA,EACd,MAAM,OAAO,EAAE,KAAK,GAAG;AACtB,UAAM,SAASC,KAAI,KAAK;AACxB,QAAI,QAAQ;AAEZ,UAAM,OAAO,YAAY;AACxB,UAAI;AACH,cAAM,UAAU,UAAU,UAAU,MAAM,IAAI;AAAA,MAC/C,SAAQ;AAEP,cAAM,WAAW,SAAS,cAAc,UAAU;AAClD,iBAAS,QAAQ,MAAM;AACvB,iBAAS,MAAM,WAAW;AAC1B,iBAAS,MAAM,UAAU;AACzB,iBAAS,KAAK,YAAY,QAAQ;AAClC,iBAAS,OAAO;AAChB,iBAAS,YAAY,MAAM;AAC3B,iBAAS,KAAK,YAAY,QAAQ;AAAA,MACnC;AAEA,aAAO,QAAQ;AACf,aAAO,aAAa,KAAK;AACzB,cAAQ,OAAO,WAAW,MAAM;AAC/B,eAAO,QAAQ;AAAA,MAChB,GAAG,MAAM,QAAQ;AAEjB,WAAK,QAAQ,MAAM,IAAI;AAAA,IACxB;AAEA,WAAO,MAAMC,IAAE,UAAU;AAAA,MACxB,OAAO;AAAA,MACP,MAAM;AAAA,MACN,cAAc,MAAM;AAAA,MACpB,SAAS;AAAA,IACV,GAAG,CAAC,SAAS,OAAO,QAAQ,MAAM,cAAc,MAAM,IAAI,CAAC,CAAC;AAAA,EAC7D;AACD,CAAC;;;AChDD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,4BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC1C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,IAAE,MAAM;AAAA,MACpB,GAAG;AAAA,MACH,OAAO,GAAG,oBAAoB,EAAE,4BAA4B,MAAM,QAAQ,GAAG,MAAM,KAAK;AAAA,IACzF,GAAG,MAAM,MAAM,IAAI,UAAK;AAb1B;AAa6B,aAAAA,IAAE,OAAO,EAAE,OAAO,uBAAuB,GAAG;AAAA,QACtEA,IAAE,MAAM,EAAE,OAAO,wBAAwB,GAAG,KAAK,QAAQ,KAAK,KAAK;AAAA,QACnEA;AAAA,UAAE;AAAA,UAAM,EAAE,OAAO,GAAG,0BAA0B,KAAK,SAAS,8BAA8B,EAAE;AAAA,YAC3F,WAAM,KAAK,SAAX,+BAAkB,EAAE,KAAK,OAAM,KAAK;AAAA,QACrC;AAAA,MACD,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACpBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,2BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,IAAE,MAAM,EAAE,GAAG,OAAO,OAAO,GAAG,wBAAwB,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAK;AAT1G;AAS6G,aAAAA,IAAE,OAAO;AAAA,QACnH,OAAO;AAAA,MACR,GAAG;AAAA,QACFA,IAAE,MAAM,EAAE,OAAO,YAAY,GAAG,KAAK,QAAQ,KAAK,KAAK;AAAA,QACvDA,IAAE,MAAM,EAAE,OAAO,YAAY,KAAG,WAAM,KAAK,SAAX,+BAAkB,EAAE,KAAK,OAAM,KAAK,eAAe,KAAK,KAAK;AAAA,MAC9F,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;AChBD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,mBAAAC,kBAAiB,OAAAC,YAAW;AAIzD,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC1C,MAAM,EAAE,MAAM,QAAQ,SAAS,wBAAwB;AAAA,IACvD,SAAS,EAAE,MAAM,QAAQ,SAAS,YAAY;AAAA,IAC9C,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,OAAOC,KAAI,KAAK;AACtB,UAAM,OAAOA,KAAI,IAAI;AACrB,UAAM,QAAQ,MAAM;AACnB,WAAK,QAAQ;AACb,eAAS,oBAAoB,SAAS,cAAc;AACpD,eAAS,oBAAoB,WAAW,SAAS;AAAA,IAClD;AACA,UAAM,iBAAiB,WAAS;AAC/B,UAAG,KAAK,SAAS,CAAC,KAAK,MAAM,SAAS,MAAM,MAAM,GAAG;AACpD,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,SAAS,MAAM;AACpB,WAAK,QAAQ,CAAC,KAAK;AAEnB,UAAG,KAAK,OAAO;AACd,mBAAW,MAAM,SAAS,iBAAiB,SAAS,cAAc,GAAG,CAAC;AACtE,iBAAS,iBAAiB,WAAW,SAAS;AAAA,MAC/C,OAAO;AACN,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,SAAS,UAAQ;AA1CzB;AA2CG,UAAG,KAAK,UAAU;AACjB;AAAA,MACD;AAEA,iBAAK,aAAL,8BAAgB;AAChB,WAAK,UAAU,IAAI;AACnB,YAAM;AAAA,IACP;AAEA,IAAAC,iBAAgB,KAAK;AAErB,WAAO,MAAG;AAtDZ;AAsDe,aAAAC,IAAE,OAAO,EAAE,KAAK,MAAM,OAAO,GAAG,YAAY,EAAE,WAAW,KAAK,MAAM,CAAC,EAAE,GAAG;AAAA,UACtF,WAAM,YAAN,+BAAgB,EAAE,MAAM,KAAK,OAAO,OAAO,OAAMA,IAAE,kBAAU;AAAA,UAC5D,SAAS,MAAM;AAAA,UACf,MAAM,MAAM;AAAA,UACZ,iBAAiB,KAAK,QAAQ,SAAS;AAAA,UACvC,SAAS;AAAA,QACV,GAAG,MAAM,MAAM,KAAK;AAAA,QACpBA,IAAE,OAAO,EAAE,OAAO,iBAAiB,MAAM,OAAO,KAAG,WAAM,YAAN,+BAAgB,EAAE,MAAM,OAAM,MAAM,MAAM,IAAI,UAAQA,IAAE,UAAU;AAAA,UACpH,OAAO,GAAG,iBAAiB,KAAK,UAAU,sBAAsB;AAAA,UAChE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,UAAU,KAAK;AAAA,UACf,SAAS,MAAM,OAAO,IAAI;AAAA,QAC3B,GAAG;AAAA,UACF,SAAS,KAAK,IAAI;AAAA,UAClB,KAAK;AAAA,QACN,CAAC,CAAC,CAAC;AAAA,MACJ,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzED,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,YAAAC,WAAU,mBAAAC,kBAAiB,OAAAC,MAAK,YAAAC,WAAU,SAAAC,cAAa;AAGpF,IAAI,WAAW;AAEf,IAAO,mBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,QAAQ,SAAS,QAAQ;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,eAAe,OAAO;AAAA,EAC9B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,UAAU,mBAAmB,EAAE,QAAQ;AAC7C,UAAM,WAAWC,KAAI,IAAI;AACzB,UAAM,UAAUA,KAAI,KAAK;AACzB,UAAM,UAAUA,KAAI,KAAK;AACzB,QAAI,gBAAgB;AACpB,QAAI,aAAa;AAEjB,UAAM,QAAQ,MAAM;AACnB,WAAK,eAAe,KAAK;AACzB,WAAK,OAAO;AAAA,IACb;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP,OAAO;AACN,kBAAU,OAAO,SAAS,KAAK;AAAA,MAChC;AAAA,IACD;AAEA,IAAAC,OAAM,MAAM,MAAM,MAAM,UAAQ;AAlClC;AAmCG,UAAG,MAAM;AACR,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ;AAChB,wBAAgB,SAAS;AACzB,iBAAS,iBAAiB,WAAW,SAAS;AAC9C,QAAAC,UAAS,MAAG;AAxChB,cAAAC;AAwCmB,kBAAAA,MAAA,SAAS,UAAT,gBAAAA,IAAgB;AAAA,SAAO;AAAA,MACvC,OAAO;AACN,gBAAQ,QAAQ;AAChB,iBAAS,oBAAoB,WAAW,SAAS;AACjD,6DAAe,UAAf;AACA,wBAAgB;AAChB,qBAAa,OAAO,WAAW,MAAM;AACpC,kBAAQ,QAAQ;AAChB,kBAAQ,QAAQ;AAAA,QACjB,GAAG,GAAG;AAAA,MACP;AAAA,IACD,GAAG,EAAE,OAAO,OAAO,CAAC;AAEpB,IAAAC,iBAAgB,MAAM;AACrB,eAAS,oBAAoB,WAAW,SAAS;AACjD,aAAO,aAAa,UAAU;AAAA,IAC/B,CAAC;AAED,WAAO,MAAG;AA1DZ;AA0De,qBAAQ,QAAQC,IAAEC,WAAU,EAAE,IAAI,OAAO,GAAG;AAAA,QACxDD,IAAE,OAAO;AAAA,UACR,OAAO,GAAG,UAAU,QAAQ,QAAQ,WAAW,UAAU,EAAE,eAAe,MAAM,aAAa,OAAO,CAAC;AAAA,UACrG,eAAe;AAAA,QAChB,GAAG;AAAA,UACFA,IAAE,OAAO,EAAE,OAAO,mBAAmB,SAAS,MAAM,CAAC;AAAA,UACrDA,IAAE,SAAS;AAAA,YACV,KAAK;AAAA,YACL,OAAO;AAAA,YACP,MAAM;AAAA,YACN,cAAc;AAAA,YACd,mBAAmB;AAAA,YACnB,UAAU;AAAA,UACX,GAAG;AAAA,YACFA,IAAE,UAAU,EAAE,OAAO,gBAAgB,GAAG;AAAA,cACvCA,IAAE,MAAM,EAAE,OAAO,gBAAgB,IAAI,QAAQ,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,cAC9EA,IAAE,UAAU;AAAA,gBACX,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,cAAc;AAAA,gBACd,SAAS;AAAA,cACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,YACtB,CAAC;AAAA,YACDA,IAAE,OAAO,EAAE,OAAO,cAAc,IAAG,WAAM,YAAN,8BAAiB;AAAA,YACpD,MAAM,UAAUA,IAAE,UAAU,EAAE,OAAO,gBAAgB,GAAG,MAAM,OAAO,EAAE,MAAM,CAAC,CAAC;AAAA,UAChF,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC,IAAI;AAAA;AAAA,EACN;AACD,CAAC;;;ACvFD,SAAS,mBAAAE,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,aAAa;AAAA,IAC5C,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACtC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAZZ;AAYe,aAAAC,IAAE,OAAO;AAAA,QACrB,GAAG;AAAA,QACH,OAAO,GAAG,eAAe,MAAM,WAAW,eAAe,MAAM,OAAO,IAAI,MAAM,KAAK;AAAA,MACtF,GAAG;AAAA,QACFA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,QAC9DA,IAAE,MAAM,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,SACrE,MAAM,QAAQ,MAAM,YAAYA,IAAE,KAAK,EAAE,OAAO,mBAAmB,KAAG,WAAM,YAAN,mCAAqB,MAAM,IAAI;AAAA,QACtG,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG,MAAM,QAAQ,CAAC;AAAA,MAC5E,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACtBD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,mBAAAC,kBAAiB,OAAAC,MAAK,SAAAC,cAAa;AAKhE,SAAS,SAAS,MAAM;AACvB,QAAM,MAAM,KAAK,KAAK,MAAM,GAAG,EAAE,IAAI;AACrC,SAAO,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI;AAC9C;AAEA,SAAS,SAAS,MAAM;AACvB,MAAG,CAAC,KAAK,MAAM;AACd,WAAO;AAAA,EACR;AAEA,QAAM,QAAQ,CAAC,KAAK,MAAM,MAAM,IAAI;AACpC,QAAM,QAAQ,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC;AACzF,QAAM,QAAQ,KAAK,OAAO,KAAK,IAAI,MAAM,KAAK;AAC9C,SAAO,GAAG,MAAM,QAAQ,SAAS,MAAM,UAAU,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC;AAC5E;AAEA,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IAC7C,OAAO,EAAE,MAAM,QAAQ,SAAS,eAAe;AAAA,IAC/C,aAAa,EAAE,MAAM,QAAQ,SAAS,wCAAwC;AAAA,IAC9E,SAAS,EAAE,MAAM,QAAQ,SAAS,eAAe;AAAA,IACjD,WAAW,EAAE,MAAM,QAAQ,SAAS,qDAAqD;AAAA,IACzF,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,IACzC,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACrC;AAAA,EACA,OAAO,CAAC,qBAAqB,QAAQ;AAAA,EACrC,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,OAAOC,KAAI,oBAAI,IAAI,CAAC;AAC1B,UAAM,aAAa,UAAQ;AAC1B,YAAM,MAAM,KAAK,MAAM,IAAI,IAAI;AAE/B,UAAG,KAAK;AACP,YAAI,gBAAgB,GAAG;AACvB,aAAK,MAAM,OAAO,IAAI;AAAA,MACvB;AAAA,IACD;AACA,UAAM,YAAY,MAAM;AACvB,WAAK,MAAM,QAAQ,SAAO,IAAI,gBAAgB,GAAG,CAAC;AAClD,WAAK,MAAM,MAAM;AAAA,IAClB;AACA,UAAM,WAAW,cAAY;AAC5B,YAAM,QAAQ,MAAM,KAAK,YAAY,CAAC,CAAC;AACvC,WAAK,qBAAqB,KAAK;AAC/B,WAAK,UAAU,KAAK;AAAA,IACrB;AACA,UAAM,SAAS,WAAS;AACvB,iBAAW,MAAM,WAAW,KAAK,CAAC;AAClC,YAAM,QAAQ,MAAM,WAAW,OAAO,CAAC,GAAG,cAAc,cAAc,KAAK;AAC3E,WAAK,qBAAqB,KAAK;AAC/B,WAAK,UAAU,KAAK;AAAA,IACrB;AACA,UAAM,aAAa,UAAQ;AA3D7B;AA4DG,UAAG,GAAC,UAAK,SAAL,mBAAW,WAAW,YAAW;AACpC,eAAO;AAAA,MACR;AAEA,UAAG,CAAC,KAAK,MAAM,IAAI,IAAI,GAAG;AACzB,aAAK,MAAM,IAAI,MAAM,IAAI,gBAAgB,IAAI,CAAC;AAAA,MAC/C;AAEA,aAAO,KAAK,MAAM,IAAI,IAAI;AAAA,IAC3B;AAEA,IAAAC,OAAM,MAAM,MAAM,YAAY,WAAS;AACtC,YAAM,SAAS,IAAI,IAAI,KAAK;AAC5B,OAAC,GAAG,KAAK,MAAM,KAAK,CAAC,EAAE,QAAQ,UAAQ;AACtC,YAAG,CAAC,OAAO,IAAI,IAAI,GAAG;AACrB,qBAAW,IAAI;AAAA,QAChB;AAAA,MACD,CAAC;AAAA,IACF,CAAC;AAED,IAAAC,iBAAgB,SAAS;AAEzB,WAAO,MAAG;AAlFZ;AAkFe,aAAAC,IAAE,OAAO,EAAE,OAAO,oBAAoB,GAAG;AAAA,QACrDA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,UACvCA,IAAE,OAAO,EAAE,OAAO,qBAAqB,GAAG;AAAA,YACzCA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG;AAAA,cAC1CA,IAAE,MAAM,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,cACtEA,IAAE,KAAK,EAAE,OAAO,0BAA0B,KAAG,WAAM,gBAAN,mCAAyB,MAAM,WAAW;AAAA,YACxF,CAAC;AAAA,YACD,MAAM,SAASA,IAAE,iBAAS,EAAE,SAAS,OAAO,GAAG,MAAM,MAAM,KAAK;AAAA,UACjE,CAAC;AAAA,UACDA,IAAE,SAAS,EAAE,OAAO,uBAAuB,GAAG;AAAA,YAC7CA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,eAAe,OAAO,GAAG,CAAC,SAAS,mBAAmB,CAAC,CAAC;AAAA,YAC/FA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,GAAG;AAAA,cACxCA,IAAE,QAAQ,EAAE,OAAO,sBAAsB,GAAG,MAAM,OAAO;AAAA,cACzDA,IAAE,QAAQ,EAAE,OAAO,wBAAwB,GAAG,MAAM,SAAS;AAAA,YAC9D,CAAC;AAAA,YACDA,IAAE,SAAS;AAAA,cACV,MAAM;AAAA,cACN,UAAU,MAAM;AAAA,cAChB,QAAQ,MAAM,UAAU;AAAA,cACxB,UAAU,WAAS,SAAS,MAAM,OAAO,KAAK;AAAA,YAC/C,CAAC;AAAA,UACF,CAAC;AAAA,UACDA,IAAE,OAAO,EAAE,OAAO,uBAAuB,QAAQ,CAAC,MAAM,WAAW,OAAO,GAAG,MAAM,WAAW,IAAI,CAAC,MAAM,UAAUA,IAAE,UAAU;AAAA,YAC9H,OAAO;AAAA,UACR,GAAG;AAAA,YACFA,IAAE,UAAU;AAAA,cACX,OAAO;AAAA,cACP,MAAM;AAAA,cACN,cAAc,UAAU,KAAK,IAAI;AAAA,cACjC,SAAS,MAAM,OAAO,KAAK;AAAA,YAC5B,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,YACrBA;AAAA,cAAE;AAAA,cAAO,EAAE,OAAO,6BAA6B;AAAA,cAAG,WAAW,IAAI,IAC9DA,IAAE,OAAO,EAAE,KAAK,WAAW,IAAI,GAAG,KAAK,GAAG,CAAC,IAC3CA,IAAE,QAAQ,EAAE,OAAO,2BAA2B,GAAG,SAAS,IAAI,CAAC;AAAA,YAClE;AAAA,YACAA,IAAE,cAAc,CAAC,GAAG;AAAA,cACnBA,IAAE,QAAQ,EAAE,OAAO,2BAA2B,GAAG,KAAK,IAAI;AAAA,cAC1DA,IAAE,QAAQ,EAAE,OAAO,2BAA2B,GAAG,GAAG,SAAS,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,EAAE;AAAA,YACzF,CAAC;AAAA,UACF,CAAC,CAAC,CAAC;AAAA,UACH,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG,MAAM,QAAQ,CAAC;AAAA,UAC3E,CAAC,MAAM,WAAW,MAAM,WAAW,SAAS,KAAKA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG;AAAA,YAC3FA,IAAE,kBAAU;AAAA,cACX,SAAS;AAAA,cACT,MAAM;AAAA,cACN,SAAS,MAAM;AACd,0BAAU;AACV,yBAAS,CAAC,CAAC;AAAA,cACZ;AAAA,YACD,GAAG,MAAM,OAAO;AAAA,UACjB,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACxID,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,IACxC,cAAc,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC/C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAMC,IAAE,UAAU;AAAA,MACxB,GAAG;AAAA,MACH,MAAM,MAAM;AAAA,MACZ,cAAc,MAAM;AAAA,MACpB,OAAO,GAAG,YAAY,EAAE,iBAAiB,MAAM,aAAa,GAAG,MAAM,KAAK;AAAA,IAC3E,GAAG,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,EAC1B;AACD,CAAC;;;ACnBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,QAAQ,EAAE,MAAM,QAAQ,SAAS,OAAO,CAAC,GAAG;AAAA,EAC7C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAG;AAXZ;AAWe,aAAAC,IAAE,QAAQ,EAAE,OAAO,WAAW,GAAG;AAAA,UAC7C,WAAM,WAAN,mCAAoBA,IAAE,kBAAU,MAAM,MAAM;AAAA,QAC5CA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,GAAG;AAAA,UACxCA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACpE,MAAM,QAAQ,MAAM,SAASA,IAAE,QAAQ,EAAE,OAAO,gBAAgB,KAAG,WAAM,SAAN,mCAAkB,MAAM,IAAI;AAAA,QACjG,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACND,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,GAAG;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,WAAO,MAAMC,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,MAC9CA,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,QAC/C,MAAM;AAAA,QACN,SAAS,MAAM,IAAI;AAAA,QACnBA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM;AAAA,UACb,OAAO,GAAG,SAAS,MAAM,KAAK;AAAA,UAC9B,SAAS,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,QAC9D,CAAC;AAAA,MACF,CAAC;AAAA,MACD,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,GAAG,cAAc,MAAM,UAAU,WAAW,OAAO,EAAE,GAAG,MAAM,IAAI;AAAA,IACnG,CAAC;AAAA,EACF;AACD,CAAC;;;AC5CD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAXZ;AAWe,aAAAC,IAAE,OAAO;AAAA,QACrB,GAAG;AAAA,QACH,OAAO,GAAG,eAAe,EAAE,uBAAuB,MAAM,QAAQ,GAAG,MAAM,KAAK;AAAA,MAC/E,GAAG;AAAA,SACD,MAAM,SAAS,MAAM,QAAQ,MAAM,UAAUA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,SAAS,MAAM,IAAI,KAAK,MAAM,KAAK;AAAA,SAC9I,WAAM,YAAN;AAAA,QACA,MAAM,UAAUA,IAAE,QAAQ,EAAE,OAAO,qBAAqB,GAAG,MAAM,OAAO,CAAC;AAAA,MAC1E,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACpBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,iBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,OAAO,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EACxC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,UAAM,MAAM,MAAM,UAAU,OAAO;AAEnC,WAAO,MAAMC,IAAE,KAAK;AAAA,MACnB,GAAG;AAAA,MACH,OAAO,GAAG,QAAQ;AAAA,QACjB,gBAAgB,MAAM;AAAA,QACtB,cAAc,MAAM;AAAA,MACrB,GAAG,MAAM,KAAK;AAAA,IACf,GAAG,MAAM,MAAM,IAAI,UAAK;AAnB1B;AAmB6B,aAAAA,IAAE,MAAM,EAAE,OAAO,YAAY,GAAG;AAAA,QAC1D,SAAS,KAAK,IAAI;AAAA,UAClB,WAAM,SAAN,+BAAa,EAAE,KAAK,OAAM,KAAK,SAAS;AAAA,MACzC,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACxBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,mBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAQ,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACxC,OAAO,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,EAC3C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAM,MAAM,SAChBC,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,iBAAiB,MAAM,KAAK,EAAE,GAAG;AAAA,MACjE,SAAS,8BAA8B;AAAA,MACvC,MAAM;AAAA,IACP,CAAC,IACCA,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,UAAU,MAAM,KAAK,GAAG,MAAM,UAAU,cAAc,MAAM,MAAM,CAAC;AAAA,EACtG;AACD,CAAC;;;ACjBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,OAAO,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,UAAU,KAAK;AAAA,IAChD,MAAM,EAAE,MAAM,QAAQ,SAAS,mBAAmB;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAdZ;AAce,aAAAC,IAAE,WAAW,EAAE,GAAG,OAAO,OAAO,GAAG,oBAAoB,MAAM,KAAK,EAAE,GAAG;AAAA,QACnFA,IAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,UACnCA,IAAE,OAAO,EAAE,OAAO,qBAAqB,GAAG;AAAA,YACzCA,IAAE,KAAK,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,YACrEA,IAAE,QAAQ,EAAE,OAAO,mBAAmB,GAAG,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,UAChE,CAAC;AAAA,UACDA,IAAE,KAAK,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACpE,MAAM,SAAS,MAAM,QAAQ,MAAM,SAASA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,YACpF,MAAM,SAASA,IAAE,QAAQ;AAAA,cACxB,OAAO,GAAG,qBAAqB,EAAE,8BAA8B,MAAM,SAAS,CAAC;AAAA,YAChF,GAAG,MAAM,KAAK;AAAA,cACd,WAAM,SAAN,mCAAkB,MAAM;AAAA,UACzB,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC9BD,SAAS,YAAAC,WAAU,mBAAAC,mBAAiB,KAAAC,WAAS;;;ACI7C,SAAS,0BAA0B;AAE5B,SAAS,eAAe;AAN/B;AAOC,QAAM,WAAW,mBAAmB;AACpC,WAAO,0CAAU,UAAV,mBAAiB,YAAW;AACpC;AAEO,SAAS,cAAc;AAX9B;AAYC,QAAM,WAAW,mBAAmB;AACpC,WAAO,0CAAU,UAAV,mBAAiB,WAAU;AACnC;AAUO,SAAS,cAAc,cAAc,IAAI,WAAW,UAAU;AACpE,MAAG,CAAC,cAAc;AACjB,WAAO;AAAA,EACR;AAEA,QAAM,QAAQ,aAAa,SAAS;AAEpC,MAAG,OAAO,OAAO,UAAU;AAC1B,QAAG,aAAa,SAAS;AACxB,aAAO,MAAM,SAAS;AAAA,IACvB;AAEA,WAAO,MAAM,SAAS,MAAM,MAAM,KAAK,WAAW,KAAK,GAAG;AAAA,EAC3D;AAEA,MAAG,GAAG,MAAM;AACX,QAAG,aAAa,SAAS;AACxB,aAAO,MAAM,SAAS,GAAG;AAAA,IAC1B;AAEA,WAAO,MAAM,SAAS,GAAG,QAAQ,MAAM,KAAK,WAAW,GAAG,OAAO,GAAG;AAAA,EACrE;AAEA,MAAG,GAAG,MAAM;AACX,WAAO,MAAM,SAAS,GAAG;AAAA,EAC1B;AAEA,SAAO;AACR;;;ADhDA,IAAO,oBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EAChD;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,UAAM,SAAS,aAAa;AAC5B,UAAM,QAAQ,YAAY;AAC1B,UAAM,YAAY,QAAQ,UAAU,KAAK;AAEzC,UAAM,cAAc,QAAM;AACzB,UAAG,CAAC,IAAI;AACP,eAAO;AAAA,MACR;AAEA,UAAG,OAAO,OAAO,UAAU;AAC1B,eAAO;AAAA,MACR;AAEA,UAAG,GAAG,MAAM;AACX,eAAO,GAAG;AAAA,MACX;AAEA,aAAO;AAAA,IACR;AAEA,UAAM,WAAWC,UAAS,MAAM,MAAM,MAAM,IAAI,UAAQ;AACvD,YAAM,QAAQ,QAAQ,KAAK,EAAE;AAC7B,YAAM,eAAe,QACjB,YAAY,OAAO,QAAQ,KAAK,EAAE,EAAE,OAAO,YAAY,KAAK,EAAE,IAC/D,KAAK;AACR,YAAM,WAAW,SAAS,YACvB,cAAc,OAAO,KAAK,IAAI,MAAM,WAAW,IAC/C,QAAQ,KAAK,MAAM;AAEtB,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAC,CAAC;AAEF,WAAO,MAAMC,IAAE,MAAM,EAAE,GAAG,OAAO,OAAO,GAAG,iBAAiB,MAAM,KAAK,EAAE,GAAG,SAAS,MAAM,IAAI,UAAK;AAjDtG;AAiDyG,aAAAA,IAAE,MAAM;AAAA,QAC9G,OAAO,GAAG,aAAa,EAAE,oBAAoB,KAAK,SAAS,CAAC;AAAA,MAC7D,GAAG;AAAA,QACFA,IAAE,KAAK,eAAe,MAAM,UAAU;AAAA,UACrC,OAAO;AAAA,UACP,MAAM,KAAK;AAAA,UACX,MAAM,KAAK,eAAe,SAAY;AAAA,UACtC,SAAS,WAAS;AAxDtB,gBAAAC;AAyDK,gBAAG,KAAK,SAAS,WAAW;AAC3B,oBAAM,eAAe;AACrB,qBAAO,KAAK,KAAK,EAAE;AAAA,YACpB;AAEA,aAAAA,MAAA,KAAK,aAAL,gBAAAA,IAAA,WAAgB,MAAM;AACtB,iBAAK,UAAU,IAAI;AAAA,UACpB;AAAA,QACD,GAAG;AAAA,UACFD,IAAE,QAAQ,EAAE,OAAO,aAAa,GAAG;AAAA,YAClC,SAAS,KAAK,IAAI;AAAA,cAClB,WAAM,UAAN,+BAAc,EAAE,KAAK,OAAM,KAAK;AAAA,UACjC,CAAC;AAAA,WACA,KAAK,QAAQ,MAAM,SAASA,IAAE,QAAQ,EAAE,OAAO,YAAY,KAAG,WAAM,SAAN,+BAAa,EAAE,KAAK,OAAM,KAAK,IAAI;AAAA,QACnG,CAAC;AAAA,MACF,CAAC;AAAA,KAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;AE1ED,SAAS,mBAAAE,mBAAiB,KAAAC,KAAG,YAAAC,WAAU,mBAAAC,kBAAiB,OAAAC,MAAK,SAAAC,cAAa;AAI1E,IAAI,UAAU;AAEd,IAAO,4BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,gBAAgB;AAAA,IAChD,SAAS,EAAE,MAAM,QAAQ,SAAS,+BAA+B;AAAA,IACjE,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,OAAO,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IAC3C,UAAU,EAAE,MAAM,QAAQ,SAAS,aAAa;AAAA,IAChD,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACzC,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EAChD;AAAA,EACA,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,OAAOC,KAAI,KAAK;AACtB,UAAMC,YAAW,iBAAiB,EAAE,OAAO;AAC3C,UAAM,YAAYD,KAAI,IAAI;AAC1B,QAAI,gBAAgB;AACpB,UAAM,QAAQ,MAAM;AACnB,WAAK,QAAQ;AAAA,IACd;AACA,UAAM,SAAS,MAAM;AACpB,WAAK,QAAQ,CAAC,KAAK;AAAA,IACpB;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP;AAAA,IACD;AAEA,IAAAE,OAAM,MAAM,YAAU;AAtCxB;AAuCG,UAAG,QAAQ;AACV,wBAAgB,SAAS;AACzB,iBAAS,KAAK,UAAU,IAAI,iBAAiB;AAC7C,iBAAS,iBAAiB,WAAW,SAAS;AAC9C,QAAAC,UAAS,MAAG;AA3ChB,cAAAC;AA2CmB,kBAAAA,MAAA,UAAU,UAAV,gBAAAA,IAAiB;AAAA,SAAO;AAAA,MACxC,OAAO;AACN,iBAAS,KAAK,UAAU,OAAO,iBAAiB;AAChD,iBAAS,oBAAoB,WAAW,SAAS;AACjD,6DAAe,UAAf;AACA,wBAAgB;AAAA,MACjB;AAAA,IACD,CAAC;AAED,IAAAC,iBAAgB,MAAM;AACrB,eAAS,KAAK,UAAU,OAAO,iBAAiB;AAChD,eAAS,oBAAoB,WAAW,SAAS;AAAA,IAClD,CAAC;AAED,WAAO,MAAG;AAzDZ;AAyDe;AAAA,QACZC,IAAE,UAAU,EAAE,OAAO,aAAa,GAAG;AAAA,UACpCA,IAAE,UAAU;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,iBAAiBL;AAAA,YACjB,iBAAiB,KAAK,QAAQ,SAAS;AAAA,YACvC,SAAS;AAAA,UACV,GAAG;AAAA,YACF,SAAS,mBAAmB;AAAA,YAC5BK,IAAE,QAAQ,CAAC,GAAG,MAAM;AAAA,UACrB,CAAC;AAAA,UACDA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,YACvC,MAAM,WAAWA,IAAE,OAAO,EAAE,KAAK,MAAM,SAAS,KAAK,IAAI,eAAe,OAAO,CAAC;AAAA,YAChFA,IAAE,QAAQ,CAAC,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,UAC7C,CAAC;AAAA,UACDA,IAAE,OAAO,EAAE,OAAO,qBAAqB,KAAG,WAAM,YAAN,mCAAqB,MAAM,OAAO;AAAA,QAC7E,CAAC;AAAA,QACDA,IAAE,OAAO,EAAE,OAAO,uBAAuB,SAAS,MAAM,CAAC;AAAA,QACzDA,IAAE,SAAS;AAAA,UACV,KAAK;AAAA,UACL,OAAO,CAAC,cAAc,EAAE,WAAW,KAAK,MAAM,CAAC;AAAA,UAC/C,IAAIL;AAAA,UACJ,cAAc;AAAA,UACd,eAAe,KAAK,QAAQ,UAAU;AAAA,UACtC,UAAU;AAAA,QACX,GAAG;AAAA,UACFK,IAAE,UAAU,EAAE,OAAO,oBAAoB,GAAG;AAAA,YAC3CA,IAAE,OAAO,CAAC,GAAG;AAAA,cACZA,IAAE,OAAO,EAAE,OAAO,mBAAmB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,cACtEA,IAAE,OAAO,EAAE,OAAO,sBAAsB,KAAG,WAAM,aAAN,mCAAsB,MAAM,QAAQ;AAAA,YAChF,CAAC;AAAA,YACDA,IAAE,UAAU;AAAA,cACX,OAAO;AAAA,cACP,MAAM;AAAA,cACN,cAAc;AAAA,cACd,SAAS;AAAA,YACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,UACtB,CAAC;AAAA,UACDA,IAAE,OAAO,EAAE,OAAO,kBAAkB,GAAG;AAAA,cACtC,WAAM,YAAN,+BAAgB,EAAE,MAAM,OAAMA,IAAE,mBAAW;AAAA,cAC1C,OAAO,MAAM;AAAA,cACb,aAAa,MAAM;AAAA,cACnB,UAAU,UAAQ;AACjB,qBAAK,UAAU,IAAI;AACnB,sBAAM;AAAA,cACP;AAAA,YACD,CAAC;AAAA,UACF,CAAC;AAAA,WACA,MAAM,UAAU,MAAM,cAAc,MAAM,gBAAgBA;AAAA,YAAE;AAAA,YAAU,EAAE,OAAO,oBAAoB;AAAA,cACnG,WAAM,WAAN,mCAAoB;AAAA,cACnBA,IAAE,QAAQ,CAAC,GAAG,MAAM,UAAU;AAAA,cAC9BA,IAAE,QAAQ,CAAC,GAAG,MAAM,WAAW;AAAA,YAChC;AAAA,UACD;AAAA,QACD,CAAC;AAAA,SACD,WAAM,YAAN;AAAA,MACD;AAAA;AAAA,EACD;AACD,CAAC;;;ACpHD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,UAAU,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACtC,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACpC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,QAAQ,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAbZ;AAae,aAAAC,IAAE,UAAU;AAAA,QACxB,GAAG;AAAA,QACH,OAAO,GAAG,eAAe;AAAA,UACxB,uBAAuB,MAAM;AAAA,UAC7B,sBAAsB,MAAM;AAAA,QAC7B,GAAG,MAAM,KAAK;AAAA,MACf,GAAG;AAAA,QACFA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG;AAAA,WACzC,MAAM,UAAU,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,qBAAqB,KAAG,WAAM,WAAN,mCAAoB,MAAM,MAAM;AAAA,UAC5GA,IAAE,MAAM,EAAE,OAAO,oBAAoB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACrE,MAAM,YAAY,MAAM,aAAaA,IAAE,KAAK,EAAE,OAAO,uBAAuB,KAAG,WAAM,aAAN,mCAAsB,MAAM,QAAQ;AAAA,UACpH,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG,MAAM,KAAK,CAAC;AAAA,QACnE,CAAC;AAAA,QACD,MAAM,WAAWA,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG,MAAM,QAAQ,CAAC;AAAA,MAC5E,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC7BD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,2BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,WAAW,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACvC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,UAAM,YAAY,MAAM;AAZ1B;AAaG,YAAM,UAAU,CAAC,SAAS,MAAM,IAAI,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAErE,UAAG,MAAM,WAAW;AACnB,eAAOC,IAAE,KAAK,EAAE,MAAM,MAAM,WAAW,OAAO,kBAAkB,GAAG,OAAO;AAAA,MAC3E;AAEA,aAAO;AAAA,IACR;AAEA,WAAO,MAAG;AAtBZ;AAsBe,aAAAA,IAAE,WAAW;AAAA,QACzB,GAAG;AAAA,QACH,OAAO,GAAG,wBAAwB,MAAM,KAAK;AAAA,MAC9C,GAAG;AAAA,QACF,MAAM,SAASA,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,UAChDA,IAAE,OAAO,EAAE,KAAK,MAAM,OAAO,KAAK,GAAG,CAAC;AAAA,QACvC,CAAC;AAAA,QACDA,IAAE,OAAO,EAAE,OAAO,YAAY,GAAG;AAAA,WAC/B,MAAM,SAAS,MAAM,QAAQ,MAAM,UAAUA,IAAE,MAAM,EAAE,OAAO,aAAa,GAAG,UAAU,CAAC;AAAA,UAC1FA,IAAE,OAAO,EAAE,OAAO,eAAe,IAAG,WAAM,YAAN,8BAAiB;AAAA,UACrD,MAAM,UAAUA,IAAE,UAAU,EAAE,OAAO,cAAc,GAAG,MAAM,OAAO,CAAC;AAAA,QACrE,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACpCD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,YAAY,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IAC3C,WAAW,EAAE,MAAM,QAAQ,SAAS,aAAa;AAAA,EAClD;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAO,EAAE,KAAK,GAAG;AACtB,UAAM,UAAU,UAAQ;AACvB,UAAG,QAAQ,KAAK,QAAQ,MAAM,cAAc,SAAS,MAAM,MAAM;AAChE,aAAK,eAAe,IAAI;AAAA,MACzB;AAAA,IACD;AAEA,WAAO,MAAM;AACZ,YAAM,QAAQ,MAAM,KAAK,EAAE,QAAQ,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,QAAQ,CAAC;AAE9E,aAAOC,IAAE,OAAO,EAAE,OAAO,cAAc,cAAc,MAAM,UAAU,GAAG;AAAA,QACvEA,IAAE,UAAU;AAAA,UACX,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU,MAAM,QAAQ;AAAA,UACxB,SAAS,MAAM,QAAQ,MAAM,OAAO,CAAC;AAAA,QACtC,GAAG,CAAC,SAAS,eAAe,CAAC,CAAC;AAAA,QAC9B,MAAM,IAAI,UAAQA,IAAE,UAAU;AAAA,UAC7B,OAAO,GAAG,mBAAmB,EAAE,0BAA0B,SAAS,MAAM,KAAK,CAAC;AAAA,UAC9E,MAAM;AAAA,UACN,gBAAgB,SAAS,MAAM,OAAO,SAAS;AAAA,UAC/C,SAAS,MAAM,QAAQ,IAAI;AAAA,QAC5B,GAAG,IAAI,CAAC;AAAA,QACRA,IAAE,UAAU;AAAA,UACX,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU,MAAM,QAAQ,MAAM;AAAA,UAC9B,SAAS,MAAM,QAAQ,MAAM,OAAO,CAAC;AAAA,QACtC,GAAG,CAAC,SAAS,gBAAgB,CAAC,CAAC;AAAA,MAChC,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;AC3CD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,mBAAAC,kBAAiB,OAAAC,YAAW;AAIzD,IAAO,oBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAC1C,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IACzC,SAAS,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EAC5C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,UAAM,OAAOC,KAAI,KAAK;AACtB,UAAM,OAAOA,KAAI,IAAI;AACrB,UAAM,QAAQ,MAAM;AACnB,WAAK,QAAQ;AACb,eAAS,oBAAoB,SAAS,cAAc;AACpD,eAAS,oBAAoB,WAAW,SAAS;AAAA,IAClD;AACA,UAAM,iBAAiB,WAAS;AAC/B,UAAG,KAAK,SAAS,CAAC,KAAK,MAAM,SAAS,MAAM,MAAM,GAAG;AACpD,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,YAAY,WAAS;AAC1B,UAAG,MAAM,QAAQ,UAAU;AAC1B,cAAM,eAAe;AACrB,cAAM;AAAA,MACP;AAAA,IACD;AACA,UAAM,SAAS,MAAM;AACpB,WAAK,QAAQ,CAAC,KAAK;AAEnB,UAAG,KAAK,OAAO;AACd,mBAAW,MAAM,SAAS,iBAAiB,SAAS,cAAc,GAAG,CAAC;AACtE,iBAAS,iBAAiB,WAAW,SAAS;AAAA,MAC/C,OAAO;AACN,cAAM;AAAA,MACP;AAAA,IACD;AAEA,IAAAC,iBAAgB,KAAK;AAErB,WAAO,MAAG;AA7CZ;AA6Ce,aAAAC,IAAE,OAAO,EAAE,KAAK,MAAM,OAAO,GAAG,WAAW,EAAE,WAAW,KAAK,MAAM,CAAC,EAAE,GAAG;AAAA,UACrF,WAAM,YAAN,+BAAgB,EAAE,MAAM,KAAK,OAAO,OAAO,OAAMA,IAAE,kBAAU;AAAA,UAC5D,SAAS,MAAM;AAAA,UACf,MAAM,MAAM;AAAA,UACZ,iBAAiB,KAAK,QAAQ,SAAS;AAAA,UACvC,SAAS;AAAA,QACV,GAAG,MAAM,MAAM,KAAK;AAAA,QACpBA,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG;AAAA,WACnC,MAAM,SAAS,MAAM,UAAUA,IAAE,MAAM,EAAE,OAAO,gBAAgB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,WACjG,MAAM,QAAQ,MAAM,YAAYA,IAAE,KAAK,EAAE,OAAO,eAAe,KAAG,WAAM,YAAN,mCAAqB,MAAM,IAAI;AAAA,QACnG,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC1DD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,KAAK,EAAE,MAAM,QAAQ,SAAS,IAAI;AAAA,IAClC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,SAAS,EAAE,MAAM,QAAQ,SAAS,YAAY;AAAA,IAC9C,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAM;AAdf;AAeG,YAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAO,MAAM,QAAQ,MAAM,MAAO,GAAG,CAAC,CAAC;AACtF,YAAM,UAAU,iBAAiB,MAAM,SAAS,WAAW;AAE3D,aAAOC,IAAE,OAAO;AAAA,QACf,GAAG;AAAA,QACH,OAAO,GAAG,YAAY,YAAY,OAAO,IAAI;AAAA,UAC5C,oBAAoB,MAAM;AAAA,UAC1B,qBAAqB,MAAM;AAAA,QAC5B,GAAG,MAAM,KAAK;AAAA,QACd,OAAO,EAAE,oBAAoB,GAAG,OAAO,IAAI;AAAA,MAC5C,GAAG;AAAA,SACD,MAAM,SAAS,MAAM,UAAUA,IAAE,OAAO,EAAE,OAAO,kBAAkB,GAAG;AAAA,UACtEA,IAAE,QAAQ,CAAC,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,UAC5CA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,GAAG,GAAG,OAAO,GAAG;AAAA,QACrD,CAAC;AAAA,QACDA,IAAE,OAAO,EAAE,OAAO,iBAAiB,GAAG;AAAA,UACrCA,IAAE,QAAQ;AAAA,YACT,OAAO;AAAA,YACP,MAAM;AAAA,YACN,iBAAiB,MAAM;AAAA,YACvB,iBAAiB;AAAA,YACjB,iBAAiB,MAAM;AAAA,UACxB,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;AC1CD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,2BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAMC,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,mBAAmB,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAQA,IAAE,OAAO;AAAA,MAC/G,OAAO,GAAG,kBAAkB;AAAA,QAC3B,2BAA2B,KAAK,WAAW;AAAA,QAC3C,0BAA0B,KAAK,WAAW;AAAA,MAC3C,CAAC;AAAA,IACF,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC;AAAA,EACxB;AACD,CAAC;;;AChBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,QAAQ,OAAO,GAAG,SAAS,GAAG;AAAA,IAC3D,OAAO,EAAE,MAAM,CAAC,QAAQ,QAAQ,OAAO,GAAG,UAAU,KAAK;AAAA,IACzD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,WAAO,MAAG;AAfZ;AAee,aAAAC,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,QAC5DA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,MAAM;AAAA,UACN,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM;AAAA,UACb,SAAS,MAAM,eAAe,MAAM;AAAA,UACpC,UAAU,MAAM;AAAA,UAChB,UAAU,MAAM,KAAK,qBAAqB,MAAM,KAAK;AAAA,QACtD,CAAC;AAAA,QACDA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,eAAe,OAAO,CAAC;AAAA,QAC3DA,IAAE,QAAQ,EAAE,OAAO,cAAc,KAAG,WAAM,YAAN,mCAAqB,MAAM,KAAK;AAAA,MACrE,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;AC7BD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,QAAQ,OAAO,GAAG,SAAS,GAAG;AAAA,IAC3D,MAAM,EAAE,MAAM,QAAQ,SAAS,iBAAiB;AAAA,IAChD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,SAAS,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,WAAO,MAAG;AAbZ;AAae,aAAAC,IAAE,OAAO,EAAE,OAAO,cAAc,MAAM,cAAc,cAAc,MAAM,SAAS,OAAU,GAAG;AAAA,QAC1G,MAAM,SAASA,IAAE,OAAO,EAAE,OAAO,QAAQ,GAAG,MAAM,KAAK;AAAA,UACvD,WAAM,YAAN,mCAAqB,MAAM,QAAQ,IAAI,YAAUA,IAAE,iBAAS;AAAA,UAC3D,YAAY,MAAM;AAAA,UAClB,uBAAuB,WAAS,KAAK,qBAAqB,KAAK;AAAA,UAC/D,MAAM,MAAM;AAAA,UACZ,OAAO,OAAO;AAAA,UACd,OAAO,OAAO;AAAA,UACd,UAAU,OAAO;AAAA,QAClB,CAAC,CAAC;AAAA,MACH,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,EAAE;AAAA,IACjD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,KAAK,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,EAAE;AAAA,IAC1C,KAAK,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,IAAI;AAAA,IAC5C,MAAM,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,EAAE;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,WAAO,MAAMC,IAAE,OAAO,EAAE,OAAO,QAAQ,GAAG;AAAA,MACzCA,IAAE,SAAS,EAAE,OAAO,QAAQ,GAAG;AAAA,QAC9B,MAAM;AAAA,QACNA,IAAE,SAAS;AAAA,UACV,GAAG;AAAA,UACH,MAAM;AAAA,UACN,OAAO,MAAM;AAAA,UACb,KAAK,MAAM;AAAA,UACX,KAAK,MAAM;AAAA,UACX,MAAM,MAAM;AAAA,UACZ,SAAS,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,QAC9D,CAAC;AAAA,MACF,CAAC;AAAA,IACF,CAAC;AAAA,EACF;AACD,CAAC;;;ACPD,SAAS,YAAAC,WAAU,mBAAAC,mBAAiB,KAAAC,KAAG,SAAAC,cAAa;;;ACVpD,SAAS,YAAAC,WAAU,mBAAAC,mBAAiB,KAAAC,WAAS;AAG7C,IAAO,iBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACxC,OAAO,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACrC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,WAAW,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,MAAM,MAAM,GAAG;AAC7B,UAAM,WAAWC,UAAS,MAAG;AA3B/B;AA2BkC,mBAAM,gBAAc,WAAM,MAAM,KAAK,UAAQ,CAAC,KAAK,QAAQ,MAAvC,mBAA0C,SAAM,WAAM,MAAM,CAAC,MAAb,mBAAgB;AAAA,KAAE;AAEtH,UAAM,WAAW,UAAQ;AACxB,UAAG,CAAC,KAAK,UAAU;AAClB,aAAK,qBAAqB,KAAK,EAAE;AAAA,MAClC;AAAA,IACD;AACA,UAAM,eAAe,MAAM,MAAM,MAAM,OAAO,UAAQ,CAAC,KAAK,QAAQ;AACpE,UAAM,OAAO,CAAC,MAAM,cAAc;AACjC,YAAM,QAAQ,aAAa;AAC3B,YAAM,QAAQ,MAAM,UAAU,aAAW,QAAQ,OAAO,KAAK,EAAE;AAC/D,YAAM,OAAO,OAAO,QAAQ,YAAY,MAAM,UAAU,MAAM,MAAM;AACpE,eAAS,IAAI;AAAA,IACd;AACA,UAAM,gBAAgB,CAAC,OAAO,SAAS;AACtC,UAAG,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,aAAa;AAC3D,cAAM,eAAe;AACrB,aAAK,MAAM,CAAC;AAAA,MACb,WAAU,MAAM,QAAQ,eAAe,MAAM,QAAQ,WAAW;AAC/D,cAAM,eAAe;AACrB,aAAK,MAAM,EAAE;AAAA,MACd,WAAU,MAAM,QAAQ,QAAQ;AAC/B,cAAM,eAAe;AACrB,iBAAS,aAAa,EAAE,CAAC,CAAC;AAAA,MAC3B,WAAU,MAAM,QAAQ,OAAO;AAC9B,cAAM,eAAe;AACrB,cAAM,QAAQ,aAAa;AAC3B,iBAAS,MAAM,MAAM,SAAS,CAAC,CAAC;AAAA,MACjC;AAAA,IACD;AAEA,WAAO,MAAMC,IAAE,OAAO;AAAA,MACrB,OAAO,GAAG,QAAQ;AAAA,QACjB,gBAAgB,MAAM;AAAA,QACtB,iBAAiB,MAAM;AAAA,MACxB,CAAC;AAAA,IACF,GAAG;AAAA,MACFA,IAAE,OAAO,EAAE,OAAO,aAAa,MAAM,WAAW,cAAc,MAAM,UAAU,GAAG,MAAM,MAAM,IAAI,UAAQ;AACxG,cAAM,SAAS,KAAK,OAAO,SAAS;AACpC,cAAM,UAAU,GAAG,KAAK,EAAE;AAE1B,eAAOA,IAAE,UAAU;AAAA,UAClB,OAAO,GAAG,OAAO,EAAE,cAAc,OAAO,CAAC;AAAA,UACzC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,iBAAiB,SAAS,SAAS;AAAA,UACnC,iBAAiB;AAAA,UACjB,iBAAiB,KAAK,WAAW,SAAS;AAAA,UAC1C,UAAU,SAAS,MAAM;AAAA,UACzB,SAAS,MAAM,SAAS,IAAI;AAAA,UAC5B,WAAW,WAAS,cAAc,OAAO,IAAI;AAAA,QAC9C,GAAG;AAAA,UACF,SAAS,KAAK,IAAI;AAAA,UAClB,KAAK;AAAA,QACN,CAAC;AAAA,MACF,CAAC,CAAC;AAAA,MACFA,IAAE,OAAO,EAAE,OAAO,cAAc,GAAG,MAAM,MAAM,IAAI,UAAQ;AAnF9D;AAoFI,cAAM,SAAS,KAAK,OAAO,SAAS;AAEpC,eAAOA,IAAE,OAAO;AAAA,UACf,IAAI,GAAG,KAAK,EAAE;AAAA,UACd,OAAO,GAAG,aAAa,EAAE,oBAAoB,OAAO,CAAC;AAAA,UACrD,MAAM;AAAA,UACN,QAAQ,CAAC;AAAA,QACV,KAAG,WAAM,KAAK,QAAX,+BAAiB,EAAE,MAAM,OAAO,OAAO,YAAU,WAAM,YAAN,+BAAgB,EAAE,MAAM,OAAO,GAAG;AAAA,MACvF,CAAC,CAAC;AAAA,IACH,CAAC;AAAA,EACF;AACD,CAAC;;;ADpED,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACrC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACzC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1C,WAAW,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,IAC3C,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,EAChD;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,UAAM,SAAS,aAAa;AAC5B,UAAM,QAAQ,YAAY;AAE1B,UAAM,YAAY,QAAQ,UAAU,KAAK;AAEzC,QAAG,CAAC,aAAa,OAAO,YAAY,eAAe,QAAQ,OAAO,MAAuC;AAExG,cAAQ,KAAK,kFAAkF;AAAA,IAChG;AAEA,UAAM,WAAWC,UAAS,MAAM,MAAM,MAAM,IAAI,WAAS;AAAA,MACxD,IAAI,KAAK;AAAA,MACT,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,UAAU,KAAK;AAAA,MACf,IAAI,KAAK;AAAA,IACV,EAAE,CAAC;AAEH,UAAM,WAAWA,UAAS,MAAM;AAvDlC;AAwDG,UAAG,CAAC,WAAW;AACd,iBAAO,cAAS,MAAM,KAAK,UAAQ,CAAC,KAAK,QAAQ,MAA1C,mBAA6C,OAAM;AAAA,MAC3D;AAEA,YAAM,UAAU,SAAS,MAAM,KAAK,UAAQ;AAC3C,YAAG,KAAK,YAAY,CAAC,KAAK,IAAI;AAC7B,iBAAO;AAAA,QACR;AAEA,eAAO,cAAc,OAAO,KAAK,IAAI,MAAM,WAAW;AAAA,MACvD,CAAC;AAED,cAAO,mCAAS,SAAM,cAAS,MAAM,KAAK,UAAQ,CAAC,KAAK,QAAQ,MAA1C,mBAA6C,OAAM;AAAA,IAC1E,CAAC;AAED,UAAM,WAAW,QAAM;AACtB,UAAG,CAAC,WAAW;AACd;AAAA,MACD;AAEA,YAAM,OAAO,SAAS,MAAM,KAAK,OAAK,EAAE,OAAO,EAAE;AAEjD,UAAG,QAAQ,KAAK,IAAI;AACnB,eAAO,KAAK,KAAK,EAAE;AAAA,MACpB;AAAA,IACD;AAEA,WAAO,MAAMC,IAAE,gBAAQ;AAAA,MACtB,YAAY,SAAS;AAAA,MACrB,OAAO,SAAS;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,UAAU,MAAM;AAAA,MAChB,WAAW,MAAM;AAAA,MACjB,uBAAuB;AAAA,IACxB,GAAG,KAAK;AAAA,EACT;AACD,CAAC;;;AE5FD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,wBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,SAAS;AAAA,IAC/C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,IACxC,WAAW,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,qBAAqB,OAAO;AAAA,EACpC,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,UAAM,QAAQ,MAAM;AACnB,WAAK,qBAAqB,EAAE;AAC5B,WAAK,OAAO;AAAA,IACb;AAEA,WAAO,MAAMC,IAAE,OAAO;AAAA,MACrB,OAAO,GAAG,4BAA4B,EAAE,uBAAuB,MAAM,QAAQ,CAAC;AAAA,IAC/E,GAAG;AAAA,MACFA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,GAAG,CAAC,SAAS,qBAAqB,CAAC,CAAC;AAAA,MAC3EA,IAAE,SAAS;AAAA,QACV,GAAG;AAAA,QACH,MAAM;AAAA,QACN,OAAO,MAAM;AAAA,QACb,aAAa,MAAM;AAAA,QACnB,OAAO,GAAG,qBAAqB,MAAM,KAAK;AAAA,QAC1C,SAAS,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,MAC9D,CAAC;AAAA,MACD,MAAM,aAAaA,IAAE,UAAU;AAAA,QAC9B,OAAO;AAAA,QACP,MAAM;AAAA,QACN,cAAc;AAAA,QACd,SAAS;AAAA,MACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,IACtB,CAAC;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,mBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,CAAC,QAAQ,MAAM,GAAG,SAAS,GAAG;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,SAAS,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,MAAM,MAAM,GAAG;AACpC,UAAM,cAAc,MAAM,MAAM,QAAQ,IAAI,YAAU;AACrD,YAAM,QAAQ,OAAO,WAAW,WAAW,OAAO,QAAQ;AAC1D,YAAM,QAAQ,OAAO,WAAW,WAAW,OAAO,QAAQ;AAE1D,aAAOC,IAAE,UAAU,EAAE,MAAM,GAAG,KAAK;AAAA,IACpC,CAAC;AAED,WAAO,MAAG;AArCZ;AAqCe,aAAAA,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,QAC9CA,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,UAC/C,MAAM;AAAA,UACN,SAAS,MAAM,IAAI;AAAA,UACnBA,IAAE,OAAO,EAAE,OAAO,cAAc,GAAG;AAAA,YAClCA,IAAE,UAAU;AAAA,cACX,GAAG;AAAA,cACH,OAAO,MAAM;AAAA,cACb,OAAO,GAAG,gBAAgB,MAAM,KAAK;AAAA,cACrC,UAAU,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,YAC/D,KAAG,WAAM,YAAN,mCAAqB,YAAY,CAAC;AAAA,UACtC,CAAC;AAAA,QACF,CAAC;AAAA,QACD,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,GAAG,cAAc,MAAM,UAAU,WAAW,OAAO,EAAE,GAAG,MAAM,IAAI;AAAA,MACnG,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACrDD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,SAAS,OAAO;AAAA,IACtC,OAAO,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IACvC,OAAO,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,UAAM,WAAW,SAAOC,IAAE,QAAQ;AAAA,MACjC;AAAA,MACA,GAAG;AAAA,MACH,OAAO,GAAG,YAAY,YAAY,MAAM,IAAI,IAAI,MAAM,KAAK;AAAA,IAC5D,CAAC;AAED,WAAO,MAAM,MAAM,QAChBA,IAAE,OAAO,EAAE,OAAO,iBAAiB,GAAG,MAAM,KAAK,EAAE,QAAQ,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,SAAS,KAAK,CAAC,CAAC,IACxG,SAAS,CAAC;AAAA,EACd;AACD,CAAC;;;ACrBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACrC,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAMC,IAAE,MAAM;AAAA,MACpB,GAAG;AAAA,MACH,OAAO,GAAG,SAAS,EAAE,kBAAkB,MAAM,SAAS,GAAG,MAAM,KAAK;AAAA,IACrE,GAAG,MAAM,MAAM,IAAI,CAAC,MAAM,UAAUA,IAAE,MAAM;AAAA,MAC3C,OAAO,GAAG,QAAQ;AAAA,QACjB,iBAAiB,KAAK,WAAW;AAAA,QACjC,gBAAgB,KAAK,WAAW;AAAA,QAChC,iBAAiB,KAAK,YAAY,KAAK,WAAW;AAAA,MACnD,CAAC;AAAA,IACF,GAAG;AAAA,MACFA,IAAE,QAAQ,EAAE,OAAO,cAAc,GAAG,KAAK,UAAU,OAAO,QAAQ,CAAC,CAAC;AAAA,MACpEA,IAAE,MAAM,EAAE,OAAO,aAAa,GAAG,KAAK,KAAK;AAAA,MAC3C,KAAK,QAAQA,IAAE,KAAK,EAAE,OAAO,YAAY,GAAG,KAAK,IAAI;AAAA,IACtD,CAAC,CAAC,CAAC;AAAA,EACJ;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,IAC1C,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,EAC7C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,UAAM,UAAU,iBAAiB,MAAM,OAAO;AAE9C,WAAO,MAAG;AAdZ;AAce,aAAAC,IAAE,WAAW,EAAE,GAAG,OAAO,OAAO,GAAG,oBAAoB,QAAQ,OAAO,IAAI,MAAM,KAAK,EAAE,GAAG;AAAA,QACtGA,IAAE,QAAQ,EAAE,OAAO,aAAa,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,QACjEA,IAAE,OAAO,EAAE,OAAO,eAAe,GAAG;AAAA,UACnCA,IAAE,OAAO,EAAE,OAAO,wBAAwB,GAAG;AAAA,YAC5CA,IAAE,OAAO,EAAE,OAAO,cAAc,KAAG,WAAM,SAAN,mCAAkB,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,UAC5E,CAAC;AAAA,WACA,MAAM,QAAQ,MAAM,YAAYA,IAAE,KAAK,EAAE,OAAO,cAAc,KAAG,WAAM,YAAN,mCAAqB,MAAM,IAAI;AAAA,QAClG,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACZD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,kBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,SAAS,EAAE,MAAM,OAAO,UAAU,KAAK;AAAA,IACvC,MAAM,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,IACvC,SAAS,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACrC,WAAW,EAAE,MAAM,QAAQ,SAAS,QAAQ;AAAA,EAC7C;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAxBZ;AAwBe,aAAAC,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG;AAAA,QACjDA,IAAE,SAAS,EAAE,OAAO,GAAG,mBAAmB,EAAE,eAAe,CAAC,MAAM,KAAK,OAAO,GAAG,MAAM,KAAK,EAAE,GAAG;AAAA,UAChG,MAAM,WAAWA,IAAE,WAAW,EAAE,OAAO,gBAAgB,GAAG,MAAM,OAAO;AAAA,UACvEA,IAAE,SAAS,EAAE,OAAO,aAAa,GAAG;AAAA,YACnCA,IAAE,MAAM,EAAE,OAAO,YAAY,GAAG,MAAM,QAAQ,IAAI,YAAUA,IAAE,MAAM,EAAE,OAAO,MAAM,GAAG,OAAO,KAAK,CAAC,CAAC;AAAA,UACrG,CAAC;AAAA,UACDA;AAAA,YAAE;AAAA,YAAS,EAAE,OAAO,aAAa;AAAA,YAAG,MAAM,KAAK,SAC5C,MAAM,KAAK,IAAI,SAAOA,IAAE,MAAM,EAAE,OAAO,YAAY,GAAG,MAAM,QAAQ,IAAI,YAAU;AA/BzF,kBAAAC;AAgCM,oBAAM,OAAO,QAAQ,OAAO,GAAG;AAC/B,qBAAOD,IAAE,MAAM,CAAC,KAAGC,MAAA,MAAM,UAAN,gBAAAA,IAAA,YAAc,EAAE,KAAK,QAAQ,OAAO,IAAI,OAAO,GAAG,EAAE,OAAM,IAAI,OAAO,GAAG,CAAC;AAAA,YAC7F,CAAC,CAAC,CAAC,IACDD,IAAE,MAAM,CAAC,GAAG,CAACA,IAAE,MAAM,EAAE,OAAO,YAAY,SAAS,MAAM,QAAQ,OAAO,KAAG,WAAM,UAAN,mCAAmB,MAAM,SAAS,CAAC,CAAC;AAAA,UAClH;AAAA,QACD,CAAC;AAAA,MACF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACxCD,SAAS,mBAAAE,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACN,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACxC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IAClC,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAM,OAAO,EAAE,OAAO,KAAK,GAAG;AAC7B,WAAO,MAAMC,IAAE,OAAO,EAAE,OAAO,aAAa,GAAG;AAAA,MAC9CA,IAAE,SAAS,EAAE,OAAO,GAAG,SAAS,MAAM,KAAK,EAAE,GAAG;AAAA,QAC/C,MAAM;AAAA,QACN,SAAS,MAAM,IAAI;AAAA,QACnBA,IAAE,YAAY;AAAA,UACb,GAAG;AAAA,UACH,OAAO,MAAM;AAAA,UACb,OAAO,GAAG,SAAS,MAAM,KAAK;AAAA,UAC9B,SAAS,WAAS,KAAK,qBAAqB,WAAW,KAAK,CAAC;AAAA,QAC9D,CAAC;AAAA,MACF,CAAC;AAAA,MACD,MAAM,QAAQA,IAAE,OAAO,EAAE,OAAO,GAAG,cAAc,MAAM,UAAU,WAAW,OAAO,EAAE,GAAG,MAAM,IAAI;AAAA,IACnG,CAAC;AAAA,EACF;AACD,CAAC;;;AC7BD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,qBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC,EAAE;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAMC,IAAE,MAAM,EAAE,GAAG,OAAO,OAAO,GAAG,YAAY,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,IAAI,UAAQ;AATjG;AAUG,YAAM,UAAU,KAAK,UAAU,iBAAiB,KAAK,OAAO,IAAI;AAEhE,aAAOA,IAAE,MAAM,EAAE,OAAO,GAAG,iBAAiB,WAAW,iBAAiB,OAAO,EAAE,EAAE,GAAG;AAAA,QACrFA,IAAE,QAAQ,EAAE,OAAO,kBAAkB,GAAG,CAAC,SAAS,KAAK,QAAQ,WAAW,CAAC,CAAC;AAAA,QAC5EA,IAAE,OAAO,EAAE,OAAO,mBAAmB,GAAG;AAAA,UACvCA,IAAE,WAAW,EAAE,OAAO,gBAAgB,GAAG;AAAA,YACxCA,IAAE,UAAU,EAAE,OAAO,kBAAkB,GAAG;AAAA,cACzCA,IAAE,MAAM,EAAE,OAAO,iBAAiB,GAAG,KAAK,KAAK;AAAA,cAC/C,KAAK,QAAQA,IAAE,QAAQ,EAAE,OAAO,gBAAgB,GAAG,KAAK,IAAI;AAAA,YAC7D,CAAC;AAAA,YACDA,IAAE,KAAK,EAAE,OAAO,gBAAgB,KAAG,WAAM,KAAK,SAAX,+BAAkB,EAAE,KAAK,OAAM,KAAK,IAAI;AAAA,aAC1E,KAAK,QAAQ,MAAM,SAASA,IAAE,OAAO,EAAE,OAAO,gBAAgB,KAAG,WAAM,SAAN,+BAAa,EAAE,KAAK,OAAM,KAAK,IAAI;AAAA,UACtG,CAAC;AAAA,QACF,CAAC;AAAA,MACF,CAAC;AAAA,IACF,CAAC,CAAC;AAAA,EACH;AACD,CAAC;;;AC3BD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,OAAAC,aAAW;AAGxC,IAAO,oBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,UAAM,OAAOC,MAAI,KAAK;AAEtB,WAAO,MAAG;AAXZ;AAWe,aAAAC,IAAE,QAAQ;AAAA,QACtB,GAAG;AAAA,QACH,OAAO,GAAG,WAAW,EAAE,WAAW,KAAK,MAAM,GAAG,MAAM,KAAK;AAAA,QAC3D,WAAW,MAAM;AAChB,eAAK,QAAQ;AAAA,QACd;AAAA,QACA,YAAY,MAAM;AACjB,eAAK,QAAQ;AAAA,QACd;AAAA,MACD,GAAG;AAAA,SACF,WAAM,YAAN;AAAA,QACAA,IAAE,QAAQ,EAAE,OAAO,iBAAiB,MAAM,UAAU,KAAG,WAAM,UAAN,mCAAmB,MAAM,IAAI;AAAA,MACrF,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACzBD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,oBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,IACnC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,MAAM,GAAG;AAC9B,WAAO,MAAG;AAVZ;AAUe,aAAAC,IAAE,OAAO,EAAE,GAAG,OAAO,OAAO,GAAG,WAAW,MAAM,KAAK,EAAE,GAAG;AAAA,QACtEA,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG;AAAA,UACpCA,IAAE,OAAO,CAAC,GAAG;AAAA,aACX,MAAM,SAAS,MAAM,UAAUA,IAAE,MAAM,EAAE,OAAO,gBAAgB,KAAG,WAAM,UAAN,mCAAmB,MAAM,KAAK;AAAA,aACjG,MAAM,QAAQ,MAAM,SAASA,IAAE,QAAQ,EAAE,OAAO,eAAe,KAAG,WAAM,SAAN,mCAAkB,MAAM,IAAI;AAAA,UAChG,CAAC;AAAA,QACF,CAAC;AAAA,SACA,MAAM,WAAW,MAAM,YAAYA,IAAE,OAAO,EAAE,OAAO,gBAAgB,KAAG,WAAM,YAAN,qCAAqB,WAAM,YAAN,+BAAiB;AAAA,MAChH,CAAC;AAAA;AAAA,EACF;AACD,CAAC;;;ACpBD,SAAS,mBAAAC,mBAAiB,KAAAC,KAAG,SAAS,OAAAC,aAAW;;;ACA1C,IAAM,WAAW,OAAO,qBAAqB;;;ADIpD,IAAM,gBAAgB;AAAA,EACrB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AACZ;AAEA,IAAO,0BAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,UAAU,EAAE,MAAM,QAAQ,SAAS,IAAK;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,EAAE,OAAO,OAAO,GAAG;AAC/B,UAAM,QAAQC,MAAI,IAAI;AACtB,UAAM,UAAUA,MAAI,KAAK;AACzB,QAAI,QAAQ;AACZ,QAAI,aAAa;AAEjB,UAAM,UAAU,MAAM;AACrB,aAAO,aAAa,UAAU;AAC9B,cAAQ,QAAQ;AAChB,mBAAa,OAAO,WAAW,MAAM;AACpC,cAAM,QAAQ;AACd,gBAAQ,QAAQ;AAChB,eAAO,aAAa,KAAK;AACzB,gBAAQ;AAAA,MACT,GAAG,GAAG;AAAA,IACP;AAEA,UAAM,QAAQ,MAAM;AACnB,aAAO,aAAa,UAAU;AAC9B,aAAO,aAAa,KAAK;AACzB,cAAQ,QAAQ;AAChB,YAAM,QAAQ;AAAA,IACf;AAEA,UAAM,OAAO,aAAW;AACvB,aAAO,aAAa,UAAU;AAC9B,cAAQ,QAAQ;AAChB,YAAM,UAAU,iBAAiB,QAAQ,WAAW,QAAQ,QAAQ,QAAQ,MAAM;AAClF,YAAM,QAAQ;AAAA,QACb,IAAI,KAAK,IAAI;AAAA,QACb,SAAS,YAAY,UAAU,WAAW;AAAA,QAC1C,OAAO,QAAQ,SAAS;AAAA,QACxB,MAAM,QAAQ,QAAQ,QAAQ,WAAW;AAAA,QACzC,MAAM,QAAQ,QAAQ,cAAc,OAAO,KAAK,cAAc;AAAA,MAC/D;AAEA,aAAO,aAAa,KAAK;AAEzB,UAAG,QAAQ,aAAa,GAAG;AAC1B,gBAAQ,OAAO,WAAW,SAAS,QAAQ,YAAY,MAAM,QAAQ;AAAA,MACtE;AAAA,IACD;AAEA,UAAM,MAAM;AAAA,MACX;AAAA,MACA;AAAA,MACA,MAAM,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,OAAO,CAAC;AAAA,MACrD,SAAS,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,UAAU,CAAC;AAAA,MAC3D,SAAS,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,UAAU,CAAC;AAAA,MAC3D,QAAQ,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,SAAS,CAAC;AAAA,MACzD,OAAO,aAAW,KAAK,EAAE,GAAG,SAAS,SAAS,SAAS,CAAC;AAAA,IACzD;AAEA,YAAQ,UAAU,GAAG;AACrB,WAAO,GAAG;AAEV,WAAO,MAAG;AA3EZ;AA2Ee;AAAA,SACZ,WAAM,YAAN;AAAA,QACA,MAAM,SAASC,IAAE,OAAO;AAAA,UACvB,OAAO,GAAG,SAAS,QAAQ,QAAQ,WAAW,UAAU,SAAS,MAAM,MAAM,OAAO,EAAE;AAAA,UACtF,MAAM;AAAA,QACP,GAAG;AAAA,UACFA,IAAE,OAAO,EAAE,OAAO,gBAAgB,GAAG;AAAA,YACpCA,IAAE,MAAM,EAAE,OAAO,cAAc,GAAG;AAAA,cACjC,SAAS,MAAM,MAAM,IAAI;AAAA,cACzB,MAAM,MAAM;AAAA,YACb,CAAC;AAAA,YACDA,IAAE,KAAK,EAAE,OAAO,aAAa,GAAG,MAAM,MAAM,IAAI;AAAA,UACjD,CAAC;AAAA,UACDA,IAAE,UAAU;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,cAAc;AAAA,YACd,SAAS;AAAA,UACV,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;AAAA,QACtB,CAAC;AAAA,MACF;AAAA;AAAA,EACD;AACD,CAAC;;;AEjGD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAGnC,IAAO,uBAAQC,kBAAgB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,KAAK,EAAE,MAAM,QAAQ,SAAS,IAAI;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EACnC;AAAA,EACA,MAAM,OAAO,EAAE,MAAM,GAAG;AACvB,WAAO,MAAM;AAZf;AAaG,YAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAO,MAAM,QAAQ,MAAM,MAAO,GAAG,CAAC,CAAC;AAEtF,aAAOC,IAAE,WAAW,EAAE,OAAO,cAAc,GAAG;AAAA,QAC7CA,IAAE,MAAM,EAAE,OAAO,oBAAoB,GAAG;AAAA,YACvC,WAAM,UAAN,mCAAmB,MAAM;AAAA,UACzBA,IAAE,QAAQ,EAAE,OAAO,oBAAoB,GAAG,GAAG,OAAO,GAAG;AAAA,QACxD,CAAC;AAAA,QACDA,IAAE,oBAAY,EAAE,OAAO,MAAM,OAAO,KAAK,MAAM,IAAI,CAAC;AAAA,SACnD,MAAM,QAAQ,MAAM,SAASA,IAAE,KAAK,EAAE,OAAO,mBAAmB,KAAG,WAAM,SAAN,mCAAkB,MAAM,IAAI;AAAA,MACjG,CAAC;AAAA,IACF;AAAA,EACD;AACD,CAAC;;;ACzBD,SAAS,cAAc;AAGhB,SAAS,WAAW;AAC1B,QAAM,MAAM,OAAO,UAAU,IAAI;AAEjC,MAAG,KAAK;AACP,WAAO;AAAA,EACR;AAEA,QAAM,kBAAkB,MAAM;AAC7B,UAAM,IAAI,MAAM,yEAAyE;AAAA,EAC1F;AAEA,SAAO;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AACD;;;ACkCO,IAAM,aAAa;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAO,iBAAQ;AAAA,EACd,QAAQ,KAAK;AACZ,WAAO,QAAQ,UAAU,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACzD,UAAI,UAAU,MAAM,SAAS;AAAA,IAC9B,CAAC;AAAA,EACF;AACD;", + "sourcesContent": ["import { defineComponent, h, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAccordion\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tmodelValue: { type: [String, Array], default: \"\" },\n\t\tmultiple: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst localOpen = ref(props.multiple ? [] : \"\");\n\n\t\tconst getOpen = () => props.modelValue || localOpen.value;\n\t\tconst isOpen = id => props.multiple ? getOpen().includes(id) : getOpen() === id;\n\t\tconst toggle = id => {\n\t\t\tlet next;\n\n\t\t\tif(props.multiple) {\n\t\t\t\tconst current = [...getOpen()];\n\t\t\t\tnext = current.includes(id) ? current.filter(item => item !== id) : [...current, id];\n\t\t\t} else {\n\t\t\t\tnext = isOpen(id) ? \"\" : id;\n\t\t\t}\n\n\t\t\tlocalOpen.value = next;\n\t\t\temit(\"update:modelValue\", next);\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"accordion\" }, props.items.map(item => {\n\t\t\tconst open = isOpen(item.id);\n\n\t\t\treturn h(\"section\", { class: \"accordion-item\", open: open ? \"\" : undefined }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"accordion-summary\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-expanded\": open ? \"true\" : \"false\",\n\t\t\t\t\tonClick: () => toggle(item.id)\n\t\t\t\t}, [\n\t\t\t\t\th(\"span\", { class: \"accordion-summary-content\" }, [\n\t\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\t\titem.label\n\t\t\t\t\t]),\n\t\t\t\t\th(\"i\", { class: cx(\"ph ph-caret-down accordion-icon\", { \"is-open\": open }), \"aria-hidden\": \"true\" })\n\t\t\t\t]),\n\t\t\t\topen && h(\"div\", { class: \"accordion-panel\" }, slots[item.id]?.({ item, open }) || item.content)\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { h } from \"vue\";\n\nexport const variants = new Set([\n\t\"primary\",\n\t\"secondary\",\n\t\"accent\",\n\t\"success\",\n\t\"warning\",\n\t\"danger\",\n\t\"error\",\n\t\"info\"\n]);\n\nexport function cx(...items) {\n\treturn items\n\t\t.flatMap(item => {\n\t\t\tif(!item) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif(Array.isArray(item)) {\n\t\t\t\treturn item;\n\t\t\t}\n\n\t\t\tif(typeof item === \"object\") {\n\t\t\t\treturn Object.entries(item)\n\t\t\t\t\t.filter(([, enabled]) => enabled)\n\t\t\t\t\t.map(([name]) => name);\n\t\t\t}\n\n\t\t\treturn [item];\n\t\t})\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n}\n\nexport function normalizeVariant(value, fallback = \"primary\") {\n\treturn variants.has(value) ? value : fallback;\n}\n\nexport function iconNode(icon, extraClass = \"\") {\n\tif(!icon) {\n\t\treturn null;\n\t}\n\n\tconst hasPrefix = icon.includes(\"ph \") || icon.startsWith(\"ph-\");\n\n\tif(!hasPrefix) {\n\t\tif(typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`[gnexus-ui-kit] Icon \"${icon}\" is missing the required \"ph-\" prefix. Use \"ph-${icon}\" instead.`);\n\t\t}\n\t}\n\n\tconst iconClass = hasPrefix\n\t\t? icon\n\t\t: `ph-${icon}`;\n\n\treturn h(\"i\", {\n\t\tclass: cx(\"ph\", iconClass, extraClass),\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\n\nexport function slotOrText(slots, name, text) {\n\treturn slots[name] ? slots[name]() : text;\n}\n\nexport function eventValue(event) {\n\tconst target = event.target;\n\n\tif(target.type === \"checkbox\") {\n\t\treturn target.checked;\n\t}\n\n\treturn target.value;\n}\n\nexport const focusableSelector = [\n\t\"a[href]\",\n\t\"button:not([disabled])\",\n\t\"input:not([disabled])\",\n\t\"select:not([disabled])\",\n\t\"textarea:not([disabled])\",\n\t\"[tabindex]:not([tabindex='-1'])\"\n].join(\",\");\n\nexport function trapFocus(event, root) {\n\tif(event.key !== \"Tab\" || !root) {\n\t\treturn;\n\t}\n\n\tconst focusable = [...root.querySelectorAll(focusableSelector)]\n\t\t.filter(node => !node.hasAttribute(\"disabled\") && node.offsetParent !== null);\n\n\tif(!focusable.length) {\n\t\tevent.preventDefault();\n\t\troot.focus();\n\t\treturn;\n\t}\n\n\tconst first = focusable[0];\n\tconst last = focusable[focusable.length - 1];\n\n\tif(event.shiftKey && document.activeElement === first) {\n\t\tevent.preventDefault();\n\t\tlast.focus();\n\t} else if(!event.shiftKey && document.activeElement === last) {\n\t\tevent.preventDefault();\n\t\tfirst.focus();\n\t}\n}\n", "import { defineComponent, h } from \"vue\";\n\nexport default defineComponent({\n\tname: \"GnActionCard\",\n\tprops: {\n\t\tkicker: { type: String, default: \"\" },\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"article\", { class: \"card action-card\" }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"span\", { class: \"action-card-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h3\", { class: \"action-card-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"action-card-text\" }, slots.default?.() || props.text),\n\t\t\t\tslots.actions && h(\"div\", { class: \"action-card-actions\" }, slots.actions())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActionList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-actions\", attrs.class) }, props.items.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", item.muted && \"list-item-muted\")\n\t\t}, [\n\t\t\th(\"div\", { class: \"list-content\" }, [\n\t\t\t\th(\"div\", { class: \"list-title\" }, slots.title?.({ item }) || item.title),\n\t\t\t\t(item.subtitle || slots.subtitle) && h(\"div\", { class: \"list-subtitle\" }, slots.subtitle?.({ item }) || item.subtitle)\n\t\t\t]),\n\t\t\tslots.controls && h(\"div\", { class: \"list-controls\" }, slots.controls({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnActivityLog\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"activity-log\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"activity-log-row\"\n\t\t}, [\n\t\t\th(\"time\", { class: \"activity-log-time\" }, item.time),\n\t\t\th(\"span\", { class: \"activity-log-title\" }, slots[item.key]?.({ item }) || item.title),\n\t\t\tslots.actions && h(\"span\", {}, slots.actions({ item }))\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAlert\",\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\trole: { type: String, default: \"status\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\trole: props.role,\n\t\t\t\tclass: cx(\"alert\", `alert-${variant}`, attrs.class)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatar\",\n\tprops: {\n\t\tsrc: { type: String, default: \"\" },\n\t\talt: { type: String, default: \"\" },\n\t\tinitials: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false },\n\t\tstatus: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"avatar\", `avatar-${variant}`, {\n\t\t\t\t\t\"avatar-sm\": props.size === \"sm\",\n\t\t\t\t\t\"avatar-lg\": props.size === \"lg\",\n\t\t\t\t\t\"avatar-outline\": props.outline,\n\t\t\t\t\t\"is-online\": props.status === \"online\",\n\t\t\t\t\t\"is-busy\": props.status === \"busy\",\n\t\t\t\t\t\"is-offline\": props.status === \"offline\"\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\tprops.src ? h(\"img\", { src: props.src, alt: props.alt }) : iconNode(props.icon) || props.initials,\n\t\t\t\tprops.status && h(\"span\", { class: \"avatar-status\", \"aria-hidden\": \"true\" })\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnAvatarStack\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcount: { type: [Number, String], default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"avatar-stack\" }, [\n\t\t\tprops.items.map(item => h(GnAvatar, { ...item, size: item.size || \"sm\" })),\n\t\t\tslots.default?.(),\n\t\t\tprops.count && h(\"span\", { class: \"avatar-stack-count\" }, `+${props.count}`)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnBadge\",\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\toutline: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"span\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"badge\",\n\t\t\t\t\tprops.outline && variant === \"primary\" ? \"badge-primary-outline\" : `badge-${variant}`,\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, slots.default?.());\n\t\t};\n\t}\n});\n", "/**\n * GnButton - Primary command component.\n *\n * @typedef {Object} GnButtonProps\n * @property {string} [variant='primary'] - primary | secondary | accent | success | warning | danger | error | info\n * @property {string} [size='md'] - sm | md | lg\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-plus\", \"ph-house\")\n * @property {boolean} [loading=false] - Show spinner and disable interaction\n * @property {boolean} [disabled=false] - Disabled state\n * @property {string} [type='button'] - button | submit | reset\n *\n * @slots default - Button label text\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnButton\",\n\tprops: {\n\t\tvariant: { type: String, default: \"primary\" },\n\t\tsize: { type: String, default: \"md\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tloading: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\ttype: { type: String, default: \"button\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst hasIcon = Boolean(props.icon || props.loading);\n\t\t\tconst variant = normalizeVariant(props.variant);\n\n\t\t\treturn h(\"button\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: props.type,\n\t\t\t\tdisabled: props.disabled || props.loading,\n\t\t\t\tclass: cx(\n\t\t\t\t\t\"btn\",\n\t\t\t\t\t`btn-${variant}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t\"btn-small\": props.size === \"sm\",\n\t\t\t\t\t\t\"btn-large\": props.size === \"lg\",\n\t\t\t\t\t\t\"with-icon\": hasIcon,\n\t\t\t\t\t\t\"loading-state\": props.loading\n\t\t\t\t\t},\n\t\t\t\t\tattrs.class\n\t\t\t\t)\n\t\t\t}, [\n\t\t\t\tprops.loading ? iconNode(\"ph-bold ph-spinner\") : iconNode(props.icon),\n\t\t\t\tslots.default?.()\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCard\",\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card\", props.variant && `card-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\t(props.title || slots.title) && h(\"header\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCheckbox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"checkbox\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: props.modelValue,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: event => emit(\"update:modelValue\", event.target.checked)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"checkbox-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"checkbox-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChip\",\n\tprops: {\n\t\tvariant: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tselected: { type: Boolean, default: false },\n\t\tdisabled: { type: Boolean, default: false },\n\t\tremovable: { type: Boolean, default: false }\n\t},\n\temits: [\"remove\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => {\n\t\t\tconst tag = attrs.onClick ? \"button\" : \"span\";\n\t\t\tconst variant = props.variant ? normalizeVariant(props.variant) : \"\";\n\n\t\t\treturn h(tag, {\n\t\t\t\t...attrs,\n\t\t\t\ttype: tag === \"button\" ? \"button\" : undefined,\n\t\t\t\tdisabled: tag === \"button\" ? props.disabled : undefined,\n\t\t\t\t\"aria-pressed\": tag === \"button\" ? String(props.selected) : undefined,\n\t\t\t\tclass: cx(\"chip\", variant && `chip-${variant}`, {\n\t\t\t\t\t\"chip-selected\": props.selected,\n\t\t\t\t\t\"chip-disabled\": props.disabled\n\t\t\t\t}, attrs.class)\n\t\t\t}, [\n\t\t\t\ticonNode(props.icon),\n\t\t\t\tslots.default?.(),\n\t\t\t\tprops.removable && h(\"button\", {\n\t\t\t\t\tclass: \"chip-remove\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": \"Remove\",\n\t\t\t\t\tonClick: event => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\temit(\"remove\");\n\t\t\t\t\t}\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnChipGroup\",\n\tsetup(_, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"chip-group\", attrs.class) }, slots.default?.());\n\t}\n});\n", "import { computed, defineComponent, h, nextTick, ref } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nlet comboboxId = 0;\n\nexport default defineComponent({\n\tname: \"GnCombobox\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tnotFoundText: { type: String, default: \"Nothing found\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"select\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst id = `gn-combobox-${++comboboxId}`;\n\t\tconst listboxId = `${id}-listbox`;\n\t\tconst open = ref(false);\n\t\tconst focused = ref(-1);\n\t\tconst inputRef = ref(null);\n\t\tconst normalized = computed(() => props.options.map(option => typeof option === \"object\" ? option : {\n\t\t\tvalue: option,\n\t\t\tlabel: option\n\t\t}));\n\t\tconst query = computed(() => String(props.modelValue ?? \"\").toLowerCase());\n\t\tconst filtered = computed(() => normalized.value.filter(option => String(option.label).toLowerCase().includes(query.value)));\n\t\tconst select = option => {\n\t\t\tif(!option) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\temit(\"update:modelValue\", option.label);\n\t\t\temit(\"select\", option);\n\t\t\topen.value = false;\n\t\t\tfocused.value = -1;\n\t\t};\n\t\tconst move = direction => {\n\t\t\tif(!filtered.value.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topen.value = true;\n\t\t\tfocused.value = (focused.value + direction + filtered.value.length) % filtered.value.length;\n\t\t\tnextTick(() => {\n\t\t\t\tconst container = inputRef.value?.closest(\".form-group\")?.querySelector(\".advanced-select\");\n\t\t\t\tcontainer?.querySelector(\".option.focus\")?.scrollIntoView({ block: \"nearest\" });\n\t\t\t});\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(1);\n\t\t\t} else if(event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(-1);\n\t\t\t} else if(event.key === \"Enter\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselect(filtered.value[focused.value]);\n\t\t\t} else if(event.key === \"Escape\") {\n\t\t\t\topen.value = false;\n\t\t\t\tfocused.value = -1;\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tref: inputRef,\n\t\t\t\t\tid,\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\t\tautocomplete: \"off\",\n\t\t\t\t\trole: \"combobox\",\n\t\t\t\t\t\"aria-autocomplete\": \"list\",\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": listboxId,\n\t\t\t\t\t\"aria-activedescendant\": focused.value >= 0 ? `${id}-option-${focused.value}` : undefined,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonFocus: () => {\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t},\n\t\t\t\t\tonBlur: () => {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\topen.value = false;\n\t\t\t\t\t\t}, 120);\n\t\t\t\t\t},\n\t\t\t\t\tonInput: event => {\n\t\t\t\t\t\tfocused.value = -1;\n\t\t\t\t\t\topen.value = true;\n\t\t\t\t\t\temit(\"update:modelValue\", eventValue(event));\n\t\t\t\t\t},\n\t\t\t\t\tonKeydown\n\t\t\t\t})\n\t\t\t]),\n\t\t\th(\"div\", { class: \"advanced-select-container\" }, [\n\t\t\t\th(\"div\", { class: cx(\"advanced-select\", { \"a-show\": open.value }) }, [\n\t\t\t\t\th(\"div\", { class: \"popup-options-container\" }, [\n\t\t\t\t\t\th(\"div\", { class: cx(\"not-found\", { show: !filtered.value.length }) }, props.notFoundText),\n\t\t\t\t\t\th(\"div\", {\n\t\t\t\t\t\t\tid: listboxId,\n\t\t\t\t\t\t\tclass: cx(\"options\", { show: filtered.value.length }),\n\t\t\t\t\t\t\trole: \"listbox\"\n\t\t\t\t\t\t}, filtered.value.map((option, index) => h(\"div\", {\n\t\t\t\t\t\t\tid: `${id}-option-${index}`,\n\t\t\t\t\t\t\tclass: cx(\"option\", { focus: index === focused.value }),\n\t\t\t\t\t\t\trole: \"option\",\n\t\t\t\t\t\t\t\"aria-selected\": index === focused.value ? \"true\" : \"false\",\n\t\t\t\t\t\t\t\"data-value\": option.value,\n\t\t\t\t\t\t\t\"data-display-value\": option.label,\n\t\t\t\t\t\t\tonMousedown: event => {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tselect(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, option.label)))\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnButton from \"./GnButton.js\";\nimport GnModal from \"./GnModal.js\";\n\nexport default defineComponent({\n\tname: \"GnConfirmDialog\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"Requires confirmation\" },\n\t\tmessage: { type: String, default: \"\" },\n\t\tconfirmText: { type: String, default: \"YES\" },\n\t\tcancelText: { type: String, default: \"NO\" },\n\t\tconfirmVariant: { type: String, default: \"warning\" }\n\t},\n\temits: [\"update:open\", \"confirm\", \"cancel\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst close = () => emit(\"update:open\", false);\n\t\tconst cancel = () => {\n\t\t\temit(\"cancel\");\n\t\t\tclose();\n\t\t};\n\t\tconst confirm = () => {\n\t\t\temit(\"confirm\");\n\t\t\tclose();\n\t\t};\n\n\t\treturn () => h(GnModal, {\n\t\t\topen: props.open,\n\t\t\ttitle: props.title,\n\t\t\t\"onUpdate:open\": value => emit(\"update:open\", value)\n\t\t}, {\n\t\t\tdefault: () => slots.default?.() || h(\"p\", {}, props.message),\n\t\t\tactions: () => [\n\t\t\t\th(GnButton, { variant: \"primary\", onClick: cancel }, () => props.cancelText),\n\t\t\t\th(GnButton, { variant: props.confirmVariant, onClick: confirm }, () => props.confirmText)\n\t\t\t]\n\t\t});\n\t}\n});\n", "/**\n * GnModal - Accessible modal dialog with focus trapping and teleport.\n *\n * @typedef {Object} GnModalProps\n * @property {boolean} [open=false] - Dialog visibility\n * @property {string} [title=''] - Dialog title\n * @property {boolean} [closeOnBackdrop=true] - Click backdrop to close\n *\n * @slots default - Modal body content\n * @slots title - Override header title\n * @slots footer - Footer content\n * @slots actions - Action buttons (receives { close })\n * @emits update:open\n * @emits close\n */\nimport { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet modalId = 0;\n\nexport default defineComponent({\n\tname: \"GnModal\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tcloseOnBackdrop: { type: Boolean, default: true }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-modal-title-${++modalId}`;\n\t\tconst dialogRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, dialogRef.value);\n\t\t\t}\n\t\t};\n\t\tconst focusDialog = () => {\n\t\t\tnextTick(() => {\n\t\t\t\tdialogRef.value?.focus();\n\t\t\t});\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = false;\n\t\t\t\tvisible.value = true;\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tfocusDialog();\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", { class: cx(\"modal\", closing.value ? \"a-hide\" : \"a-show\"), \"aria-hidden\": \"false\" }, [\n\t\t\t\th(\"div\", {\n\t\t\t\t\tclass: \"modal-backdrop\",\n\t\t\t\t\tonClick: () => props.closeOnBackdrop && close()\n\t\t\t\t}),\n\t\t\t\th(\"div\", {\n\t\t\t\t\tref: dialogRef,\n\t\t\t\t\tclass: \"modal-dialog\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"modal-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"modal-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon modal-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"modal-panel\" }, [\n\t\t\t\t\t\th(\"div\", { class: \"modal-body\" }, slots.default?.()),\n\t\t\t\t\t\t(slots.footer || slots.actions) && h(\"footer\", { class: \"modal-footer\" }, [\n\t\t\t\t\t\t\tslots.footer?.(),\n\t\t\t\t\t\t\tslots.actions && h(\"div\", { class: \"actions\" }, slots.actions({ close }))\n\t\t\t\t\t\t])\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnCopyButton\",\n\tprops: {\n\t\ttext: { type: String, required: true },\n\t\ticon: { type: String, default: \"ph-copy\" },\n\t\tsuccessIcon: { type: String, default: \"ph-check\" },\n\t\tduration: { type: Number, default: 3000 },\n\t\tlabel: { type: String, default: \"Copy\" }\n\t},\n\temits: [\"copy\"],\n\tsetup(props, { emit }) {\n\t\tconst copied = ref(false);\n\t\tlet timer = null;\n\n\t\tconst copy = async () => {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(props.text);\n\t\t\t} catch {\n\t\t\t\t// Fallback for older browsers or non-secure contexts\n\t\t\t\tconst textarea = document.createElement(\"textarea\");\n\t\t\t\ttextarea.value = props.text;\n\t\t\t\ttextarea.style.position = \"fixed\";\n\t\t\t\ttextarea.style.opacity = \"0\";\n\t\t\t\tdocument.body.appendChild(textarea);\n\t\t\t\ttextarea.select();\n\t\t\t\tdocument.execCommand(\"copy\");\n\t\t\t\tdocument.body.removeChild(textarea);\n\t\t\t}\n\n\t\t\tcopied.value = true;\n\t\t\twindow.clearTimeout(timer);\n\t\t\ttimer = window.setTimeout(() => {\n\t\t\t\tcopied.value = false;\n\t\t\t}, props.duration);\n\n\t\t\temit(\"copy\", props.text);\n\t\t};\n\n\t\treturn () => h(\"button\", {\n\t\t\tclass: \"btn-icon\",\n\t\t\ttype: \"button\",\n\t\t\t\"aria-label\": props.label,\n\t\t\tonClick: copy\n\t\t}, [iconNode(copied.value ? props.successIcon : props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDescriptionList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tcompact: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"description-list\", { \"description-list-compact\": props.compact }, attrs.class)\n\t\t}, props.items.map(item => h(\"div\", { class: \"description-list-row\" }, [\n\t\t\th(\"dt\", { class: \"description-list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: cx(\"description-list-value\", item.muted && \"description-list-value-muted\") },\n\t\t\t\tslots[item.key]?.({ item }) || item.value\n\t\t\t)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnDefinitionList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"dl\", { ...attrs, class: cx(\"list list-definition\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: \"list-row\"\n\t\t}, [\n\t\t\th(\"dt\", { class: \"list-term\" }, item.term || item.label),\n\t\t\th(\"dd\", { class: \"list-desc\" }, slots[item.key]?.({ item }) || item.description || item.value)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnDropdown\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Actions\" },\n\t\ticon: { type: String, default: \"ph-dots-three-outline\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\titems: { type: Array, default: () => [] }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst select = item => {\n\t\t\tif(item.disabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem.onSelect?.(item);\n\t\t\temit(\"select\", item);\n\t\t\tclose();\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"dropdown\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"dropdown-menu\", role: \"menu\" }, slots.default?.({ close }) || props.items.map(item => h(\"button\", {\n\t\t\t\tclass: cx(\"dropdown-item\", item.danger && \"dropdown-item-danger\"),\n\t\t\t\ttype: \"button\",\n\t\t\t\trole: \"menuitem\",\n\t\t\t\tdisabled: item.disabled,\n\t\t\t\tonClick: () => select(item)\n\t\t\t}, [\n\t\t\t\ticonNode(item.icon),\n\t\t\t\titem.label\n\t\t\t])))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, Teleport, watch } from \"vue\";\nimport { cx, iconNode, trapFocus } from \"../utils.js\";\n\nlet drawerId = 0;\n\nexport default defineComponent({\n\tname: \"GnDrawer\",\n\tprops: {\n\t\topen: { type: Boolean, default: false },\n\t\ttitle: { type: String, default: \"\" },\n\t\tposition: { type: String, default: \"right\" }\n\t},\n\temits: [\"update:open\", \"close\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst titleId = `gn-drawer-title-${++drawerId}`;\n\t\tconst panelRef = ref(null);\n\t\tconst visible = ref(false);\n\t\tconst closing = ref(false);\n\t\tlet previousFocus = null;\n\t\tlet closeTimer = null;\n\n\t\tconst close = () => {\n\t\t\temit(\"update:open\", false);\n\t\t\temit(\"close\");\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\ttrapFocus(event, panelRef.value);\n\t\t\t}\n\t\t};\n\n\t\twatch(() => props.open, open => {\n\t\t\tif(open) {\n\t\t\t\tclosing.value = false;\n\t\t\t\tvisible.value = true;\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => panelRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tclosing.value = true;\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\t\tvisible.value = false;\n\t\t\t\t\tclosing.value = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}, { flush: \"post\" });\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t});\n\n\t\treturn () => visible.value ? h(Teleport, { to: \"body\" }, [\n\t\t\th(\"div\", {\n\t\t\t\tclass: cx(\"drawer\", closing.value ? \"a-hide\" : \"a-show\", { \"drawer-left\": props.position === \"left\" }),\n\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"drawer-backdrop\", onClick: close }),\n\t\t\t\th(\"aside\", {\n\t\t\t\t\tref: panelRef,\n\t\t\t\t\tclass: \"drawer-panel\",\n\t\t\t\t\trole: \"dialog\",\n\t\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\t\"aria-labelledby\": titleId,\n\t\t\t\t\ttabindex: \"-1\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"header\", { class: \"drawer-header\" }, [\n\t\t\t\t\t\th(\"h4\", { class: \"drawer-title\", id: titleId }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\t\tclass: \"btn-icon drawer-close\",\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\t\t\tonClick: close\n\t\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t\t]),\n\t\t\t\t\th(\"div\", { class: \"drawer-body\" }, slots.default?.()),\n\t\t\t\t\tslots.footer && h(\"footer\", { class: \"drawer-footer\" }, slots.footer({ close }))\n\t\t\t\t])\n\t\t\t])\n\t\t]) : null;\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnEmptyState\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-package\" },\n\t\tvariant: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"empty-state\", props.variant && `empty-state-${props.variant}`, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"empty-state-icon\" }, [iconNode(props.icon)]),\n\t\t\th(\"h3\", { class: \"empty-state-title\" }, slots.title?.() || props.title),\n\t\t\t(props.text || slots.default) && h(\"p\", { class: \"empty-state-text\" }, slots.default?.() || props.text),\n\t\t\tslots.actions && h(\"div\", { class: \"empty-state-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\nimport GnBadge from \"./GnBadge.js\";\n\nfunction fileType(file) {\n\tconst ext = file.name.split(\".\").pop();\n\treturn ext ? ext.slice(0, 6).toUpperCase() : \"FILE\";\n}\n\nfunction fileSize(file) {\n\tif(!file.size) {\n\t\treturn \"0 B\";\n\t}\n\n\tconst units = [\"B\", \"KB\", \"MB\", \"GB\"];\n\tconst index = Math.min(Math.floor(Math.log(file.size) / Math.log(1024)), units.length - 1);\n\tconst value = file.size / Math.pow(1024, index);\n\treturn `${value.toFixed(value >= 10 || index === 0 ? 0 : 1)} ${units[index]}`;\n}\n\nexport default defineComponent({\n\tname: \"GnFileUpload\",\n\tprops: {\n\t\tmodelValue: { type: Array, default: () => [] },\n\t\ttitle: { type: String, default: \"Upload files\" },\n\t\tdescription: { type: String, default: \"Attach documents, archives or images.\" },\n\t\tprimary: { type: String, default: \"Choose files\" },\n\t\tsecondary: { type: String, default: \"Images get thumbnails, other files show their type\" },\n\t\tbadge: { type: String, default: \"\" },\n\t\tmultiple: { type: Boolean, default: true },\n\t\taccept: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\", \"change\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst urls = ref(new Map());\n\t\tconst revokeFile = file => {\n\t\t\tconst url = urls.value.get(file);\n\n\t\t\tif(url) {\n\t\t\t\tURL.revokeObjectURL(url);\n\t\t\t\turls.value.delete(file);\n\t\t\t}\n\t\t};\n\t\tconst revokeAll = () => {\n\t\t\turls.value.forEach(url => URL.revokeObjectURL(url));\n\t\t\turls.value.clear();\n\t\t};\n\t\tconst setFiles = fileList => {\n\t\t\tconst files = Array.from(fileList || []);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst remove = index => {\n\t\t\trevokeFile(props.modelValue[index]);\n\t\t\tconst files = props.modelValue.filter((_, itemIndex) => itemIndex !== index);\n\t\t\temit(\"update:modelValue\", files);\n\t\t\temit(\"change\", files);\n\t\t};\n\t\tconst previewUrl = file => {\n\t\t\tif(!file.type?.startsWith(\"image/\")) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\n\t\t\tif(!urls.value.has(file)) {\n\t\t\t\turls.value.set(file, URL.createObjectURL(file));\n\t\t\t}\n\n\t\t\treturn urls.value.get(file);\n\t\t};\n\n\t\twatch(() => props.modelValue, files => {\n\t\t\tconst active = new Set(files);\n\t\t\t[...urls.value.keys()].forEach(file => {\n\t\t\t\tif(!active.has(file)) {\n\t\t\t\t\trevokeFile(file);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tonBeforeUnmount(revokeAll);\n\n\t\treturn () => h(\"div\", { class: \"file-upload-panel\" }, [\n\t\t\th(\"div\", { class: \"file-upload-form\" }, [\n\t\t\t\th(\"div\", { class: \"file-upload-header\" }, [\n\t\t\t\t\th(\"div\", { class: \"file-upload-heading\" }, [\n\t\t\t\t\t\th(\"h3\", { class: \"file-upload-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"p\", { class: \"file-upload-description\" }, slots.description?.() || props.description)\n\t\t\t\t\t]),\n\t\t\t\t\tprops.badge && h(GnBadge, { variant: \"info\" }, () => props.badge)\n\t\t\t\t]),\n\t\t\t\th(\"label\", { class: \"file-upload-dropzone\" }, [\n\t\t\t\t\th(\"span\", { class: \"file-upload-icon\", \"aria-hidden\": \"true\" }, [iconNode(\"ph-cloud-arrow-up\")]),\n\t\t\t\t\th(\"span\", { class: \"file-upload-body\" }, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-primary\" }, props.primary),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-secondary\" }, props.secondary)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"input\", {\n\t\t\t\t\t\ttype: \"file\",\n\t\t\t\t\t\tmultiple: props.multiple,\n\t\t\t\t\t\taccept: props.accept || undefined,\n\t\t\t\t\t\tonChange: event => setFiles(event.target.files)\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"file-upload-preview\", hidden: !props.modelValue.length }, props.modelValue.map((file, index) => h(\"figure\", {\n\t\t\t\t\tclass: \"file-upload-preview-item\"\n\t\t\t\t}, [\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"file-upload-preview-remove\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": `Remove ${file.name}`,\n\t\t\t\t\t\tonClick: () => remove(index)\n\t\t\t\t\t}, [iconNode(\"ph-x\")]),\n\t\t\t\t\th(\"div\", { class: \"file-upload-preview-visual\" }, previewUrl(file)\n\t\t\t\t\t\t? h(\"img\", { src: previewUrl(file), alt: \"\" })\n\t\t\t\t\t\t: h(\"span\", { class: \"file-upload-preview-type\" }, fileType(file))\n\t\t\t\t\t),\n\t\t\t\t\th(\"figcaption\", {}, [\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-name\" }, file.name),\n\t\t\t\t\t\th(\"span\", { class: \"file-upload-preview-meta\" }, `${fileType(file)} / ${fileSize(file)}`)\n\t\t\t\t\t])\n\t\t\t\t]))),\n\t\t\t\tslots.actions && h(\"div\", { class: \"file-upload-actions\" }, slots.actions()),\n\t\t\t\t!slots.actions && props.modelValue.length > 0 && h(\"div\", { class: \"file-upload-actions\" }, [\n\t\t\t\t\th(GnButton, {\n\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\trevokeAll();\n\t\t\t\t\t\t\tsetFiles([]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => \"Reset\")\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnIconButton\",\n\tprops: {\n\t\ticon: { type: String, required: true },\n\t\tlabel: { type: String, required: true },\n\t\ttype: { type: String, default: \"button\" },\n\t\twithoutHover: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"button\", {\n\t\t\t...attrs,\n\t\t\ttype: props.type,\n\t\t\t\"aria-label\": props.label,\n\t\t\tclass: cx(\"btn-icon\", { \"without-hover\": props.withoutHover }, attrs.class)\n\t\t}, [iconNode(props.icon)]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnAvatar from \"./GnAvatar.js\";\n\nexport default defineComponent({\n\tname: \"GnIdentity\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tmeta: { type: String, default: \"\" },\n\t\tavatar: { type: Object, default: () => ({}) }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => h(\"span\", { class: \"identity\" }, [\n\t\t\tslots.avatar?.() || h(GnAvatar, props.avatar),\n\t\t\th(\"span\", { class: \"identity-content\" }, [\n\t\t\t\th(\"span\", { class: \"identity-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"identity-meta\" }, slots.meta?.() || props.meta)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnInput - Text input field with label, icon, state, and help text.\n *\n * @typedef {Object} GnInputProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [type='text'] - input type attribute\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix (e.g. \"ph-pencil-simple\")\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n *\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInput\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ttype: { type: String, default: \"text\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\ttype: props.type,\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnInputGroup\",\n\tprops: {\n\t\tcompact: { type: Boolean, default: false },\n\t\taddon: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"input-group\", { \"input-group-compact\": props.compact }, attrs.class)\n\t\t}, [\n\t\t\t(props.addon || props.icon || slots.addon) && h(\"span\", { class: \"input-group-addon\" }, slots.addon?.() || iconNode(props.icon) || props.addon),\n\t\t\tslots.default?.(),\n\t\t\tslots.action && h(\"span\", { class: \"input-group-action\" }, slots.action())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tordered: { type: Boolean, default: false },\n\t\ticons: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst tag = props.ordered ? \"ol\" : \"ul\";\n\n\t\treturn () => h(tag, {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"list\", {\n\t\t\t\t\"list-ordered\": props.ordered,\n\t\t\t\t\"with-icons\": props.icons\n\t\t\t}, attrs.class)\n\t\t}, props.items.map(item => h(\"li\", { class: \"list-item\" }, [\n\t\t\ticonNode(item.icon),\n\t\t\tslots.item?.({ item }) || item.label || item\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnLoader\",\n\tprops: {\n\t\tcircle: { type: Boolean, default: false },\n\t\tlabel: { type: String, default: \"Loading\" }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => props.circle\n\t\t\t? h(\"div\", { ...attrs, class: cx(\"circle-loader\", attrs.class) }, [\n\t\t\t\ticonNode(\"ph-bold ph-spinner normalize\"),\n\t\t\t\tprops.label\n\t\t\t])\n\t\t\t: h(\"div\", { ...attrs, class: cx(\"loader\", attrs.class), role: \"status\", \"aria-label\": props.label });\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnMetricCard\",\n\tprops: {\n\t\tlabel: { type: String, required: true },\n\t\tvalue: { type: [String, Number], required: true },\n\t\ticon: { type: String, default: \"ph-chart-line-up\" },\n\t\tdelta: { type: String, default: \"\" },\n\t\tnegative: { type: Boolean, default: false },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card metric-card\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"metric-card-header\" }, [\n\t\t\t\t\th(\"p\", { class: \"metric-card-label\" }, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"metric-card-icon\" }, [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\th(\"p\", { class: \"metric-card-value\" }, slots.value?.() || props.value),\n\t\t\t\t(props.delta || props.meta || slots.meta) && h(\"div\", { class: \"metric-card-meta\" }, [\n\t\t\t\t\tprops.delta && h(\"span\", {\n\t\t\t\t\t\tclass: cx(\"metric-card-delta\", { \"metric-card-delta-negative\": props.negative })\n\t\t\t\t\t}, props.delta),\n\t\t\t\t\tslots.meta?.() || props.meta\n\t\t\t\t])\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\n\nexport default defineComponent({\n\tname: \"GnNavList\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tconst resolveHref = to => {\n\t\t\tif(!to) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tif(typeof to === \"string\") {\n\t\t\t\treturn to;\n\t\t\t}\n\n\t\t\tif(to.path) {\n\t\t\t\treturn to.path;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst navItems = computed(() => props.items.map(item => {\n\t\t\tconst hasTo = Boolean(item.to);\n\t\t\tconst resolvedHref = hasTo\n\t\t\t\t? (hasRouter ? router.resolve(item.to).href : resolveHref(item.to))\n\t\t\t\t: item.href;\n\t\t\tconst isActive = hasTo && hasRouter\n\t\t\t\t? isRouteActive(route, item.to, props.activeMatch)\n\t\t\t\t: Boolean(item.active);\n\n\t\t\treturn {\n\t\t\t\t...item,\n\t\t\t\tresolvedHref,\n\t\t\t\tisActive,\n\t\t\t\thasTo\n\t\t\t};\n\t\t}));\n\n\t\treturn () => h(\"ul\", { ...attrs, class: cx(\"list list-nav\", attrs.class) }, navItems.value.map(item => h(\"li\", {\n\t\t\tclass: cx(\"list-item\", { \"list-item-active\": item.isActive })\n\t\t}, [\n\t\t\th(item.resolvedHref ? \"a\" : \"button\", {\n\t\t\t\tclass: \"list-action\",\n\t\t\t\thref: item.resolvedHref,\n\t\t\t\ttype: item.resolvedHref ? undefined : \"button\",\n\t\t\t\tonClick: event => {\n\t\t\t\t\tif(item.hasTo && hasRouter) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\trouter.push(item.to);\n\t\t\t\t\t}\n\n\t\t\t\t\titem.onSelect?.(item, event);\n\t\t\t\t\temit(\"select\", item);\n\t\t\t\t}\n\t\t\t}, [\n\t\t\t\th(\"span\", { class: \"list-label\" }, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\tslots.label?.({ item }) || item.label\n\t\t\t\t]),\n\t\t\t\t(item.meta || slots.meta) && h(\"span\", { class: \"list-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t])\n\t\t])));\n\t}\n});\n", "/**\n * Safe vue-router access without hard dependency.\n * Reads $router and $route from the component instance globalProperties.\n */\nimport { getCurrentInstance } from \"vue\";\n\nexport function tryUseRouter() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$router || null;\n}\n\nexport function tryUseRoute() {\n\tconst instance = getCurrentInstance();\n\treturn instance?.proxy?.$route || null;\n}\n\n/**\n * Check whether a route target matches the current route.\n *\n * @param {import(\"vue\").Ref|Object} currentRoute\n * @param {string|Object} to\n * @param {string} strategy - 'exact' | 'prefix'\n * @returns {boolean}\n */\nexport function isRouteActive(currentRoute, to, strategy = \"prefix\") {\n\tif(!currentRoute) {\n\t\treturn false;\n\t}\n\n\tconst route = currentRoute.value || currentRoute;\n\n\tif(typeof to === \"string\") {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to;\n\t\t}\n\n\t\treturn route.path === to || route.path.startsWith(to + \"/\");\n\t}\n\n\tif(to.path) {\n\t\tif(strategy === \"exact\") {\n\t\t\treturn route.path === to.path;\n\t\t}\n\n\t\treturn route.path === to.path || route.path.startsWith(to.path + \"/\");\n\t}\n\n\tif(to.name) {\n\t\treturn route.name === to.name;\n\t}\n\n\treturn false;\n}\n", "import { defineComponent, h, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { iconNode } from \"../utils.js\";\nimport GnNavList from \"./GnNavList.js\";\n\nlet shellId = 0;\n\nexport default defineComponent({\n\tname: \"GnNavigationShell\",\n\tprops: {\n\t\tbrand: { type: String, default: \"GNexus UI Kit\" },\n\t\tlogoSrc: { type: String, default: \"/assets/imgs/gnexus-mark.svg\" },\n\t\tcurrent: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"Sections\" },\n\t\tsubtitle: { type: String, default: \"Navigation\" },\n\t\tfooterLeft: { type: String, default: \"\" },\n\t\tfooterRight: { type: String, default: \"\" },\n\t\titems: { type: Array, default: () => [] },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\temits: [\"select\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst open = ref(false);\n\t\tconst drawerId = `gn-nav-drawer-${++shellId}`;\n\t\tconst drawerRef = ref(null);\n\t\tlet previousFocus = null;\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\twatch(open, isOpen => {\n\t\t\tif(isOpen) {\n\t\t\t\tpreviousFocus = document.activeElement;\n\t\t\t\tdocument.body.classList.add(\"nav-drawer-open\");\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t\tnextTick(() => drawerRef.value?.focus());\n\t\t\t} else {\n\t\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t\t\tpreviousFocus?.focus?.();\n\t\t\t\tpreviousFocus = null;\n\t\t\t}\n\t\t});\n\n\t\tonBeforeUnmount(() => {\n\t\t\tdocument.body.classList.remove(\"nav-drawer-open\");\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t});\n\n\t\treturn () => [\n\t\t\th(\"header\", { class: \"nav-topbar\" }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"nav-topbar-toggle\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-controls\": drawerId,\n\t\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\t\tonClick: toggle\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(\"ph-sidebar-simple\"),\n\t\t\t\t\th(\"span\", {}, \"Menu\")\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-brand\" }, [\n\t\t\t\t\tprops.logoSrc && h(\"img\", { src: props.logoSrc, alt: \"\", \"aria-hidden\": \"true\" }),\n\t\t\t\t\th(\"span\", {}, slots.brand?.() || props.brand)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"nav-topbar-current\" }, slots.current?.() || props.current)\n\t\t\t]),\n\t\t\th(\"div\", { class: \"nav-drawer-backdrop\", onClick: close }),\n\t\t\th(\"aside\", {\n\t\t\t\tref: drawerRef,\n\t\t\t\tclass: [\"nav-drawer\", { \"is-open\": open.value }],\n\t\t\t\tid: drawerId,\n\t\t\t\t\"aria-label\": \"Navigation\",\n\t\t\t\t\"aria-hidden\": open.value ? \"false\" : \"true\",\n\t\t\t\ttabindex: \"-1\"\n\t\t\t}, [\n\t\t\t\th(\"header\", { class: \"nav-drawer-header\" }, [\n\t\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t\th(\"div\", { class: \"nav-drawer-subtitle\" }, slots.subtitle?.() || props.subtitle)\n\t\t\t\t\t]),\n\t\t\t\t\th(\"button\", {\n\t\t\t\t\t\tclass: \"nav-drawer-close\",\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": \"Close navigation\",\n\t\t\t\t\t\tonClick: close\n\t\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t\t]),\n\t\t\t\th(\"nav\", { class: \"nav-drawer-body\" }, [\n\t\t\t\t\tslots.default?.({ close }) || h(GnNavList, {\n\t\t\t\t\t\titems: props.items,\n\t\t\t\t\t\tactiveMatch: props.activeMatch,\n\t\t\t\t\t\tonSelect: item => {\n\t\t\t\t\t\t\temit(\"select\", item);\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t]),\n\t\t\t\t(slots.footer || props.footerLeft || props.footerRight) && h(\"footer\", { class: \"nav-drawer-footer\" },\n\t\t\t\t\tslots.footer?.() || [\n\t\t\t\t\t\th(\"span\", {}, props.footerLeft),\n\t\t\t\t\t\th(\"span\", {}, props.footerRight)\n\t\t\t\t\t]\n\t\t\t\t)\n\t\t\t]),\n\t\t\tslots.content?.()\n\t\t];\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPageHeader\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tsubtitle: { type: String, default: \"\" },\n\t\tkicker: { type: String, default: \"\" },\n\t\tcompact: { type: Boolean, default: false },\n\t\taccent: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"header\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"page-header\", {\n\t\t\t\t\"page-header-compact\": props.compact,\n\t\t\t\t\"page-header-accent\": props.accent\n\t\t\t}, attrs.class)\n\t\t}, [\n\t\t\th(\"div\", { class: \"page-header-content\" }, [\n\t\t\t\t(props.kicker || slots.kicker) && h(\"div\", { class: \"page-header-kicker\" }, slots.kicker?.() || props.kicker),\n\t\t\t\th(\"h1\", { class: \"page-header-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.subtitle || slots.subtitle) && h(\"p\", { class: \"page-header-subtitle\" }, slots.subtitle?.() || props.subtitle),\n\t\t\t\tslots.meta && h(\"div\", { class: \"page-header-meta\" }, slots.meta())\n\t\t\t]),\n\t\t\tslots.actions && h(\"div\", { class: \"page-header-actions\" }, slots.actions())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnHorizontalCard\",\n\tprops: {\n\t\timage: { type: String, default: \"\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttitleHref: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst titleNode = () => {\n\t\t\tconst content = [iconNode(props.icon), slots.title?.() || props.title];\n\n\t\t\tif(props.titleHref) {\n\t\t\t\treturn h(\"a\", { href: props.titleHref, class: \"card-title-link\" }, content);\n\t\t\t}\n\n\t\t\treturn content;\n\t\t};\n\n\t\treturn () => h(\"article\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"card card-horizontal\", attrs.class)\n\t\t}, [\n\t\t\tprops.image && h(\"div\", { class: \"card-media\" }, [\n\t\t\t\th(\"img\", { src: props.image, alt: \"\" })\n\t\t\t]),\n\t\t\th(\"div\", { class: \"card-body\" }, [\n\t\t\t\t(props.title || props.icon || slots.title) && h(\"h3\", { class: \"card-title\" }, titleNode()),\n\t\t\t\th(\"div\", { class: \"card-content\" }, slots.default?.()),\n\t\t\t\tslots.footer && h(\"footer\", { class: \"card-footer\" }, slots.footer())\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnPagination\",\n\tprops: {\n\t\tpage: { type: Number, required: true },\n\t\ttotalPages: { type: Number, required: true },\n\t\tariaLabel: { type: String, default: \"Pagination\" }\n\t},\n\temits: [\"update:page\"],\n\tsetup(props, { emit }) {\n\t\tconst setPage = page => {\n\t\t\tif(page >= 1 && page <= props.totalPages && page !== props.page) {\n\t\t\t\temit(\"update:page\", page);\n\t\t\t}\n\t\t};\n\n\t\treturn () => {\n\t\t\tconst pages = Array.from({ length: props.totalPages }, (_, index) => index + 1);\n\n\t\t\treturn h(\"nav\", { class: \"pagination\", \"aria-label\": props.ariaLabel }, [\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page <= 1,\n\t\t\t\t\tonClick: () => setPage(props.page - 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-left\")]),\n\t\t\t\tpages.map(page => h(\"button\", {\n\t\t\t\t\tclass: cx(\"pagination-item\", { \"pagination-item-active\": page === props.page }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-current\": page === props.page ? \"page\" : undefined,\n\t\t\t\t\tonClick: () => setPage(page)\n\t\t\t\t}, page)),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"pagination-item\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tdisabled: props.page >= props.totalPages,\n\t\t\t\t\tonClick: () => setPage(props.page + 1)\n\t\t\t\t}, [iconNode(\"ph-arrow-right\")])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\nimport GnButton from \"./GnButton.js\";\n\nexport default defineComponent({\n\tname: \"GnPopover\",\n\tprops: {\n\t\tlabel: { type: String, default: \"Details\" },\n\t\ttitle: { type: String, default: \"\" },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-info\" },\n\t\tvariant: { type: String, default: \"accent\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst open = ref(false);\n\t\tconst root = ref(null);\n\t\tconst close = () => {\n\t\t\topen.value = false;\n\t\t\tdocument.removeEventListener(\"click\", onOutsideClick);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeydown);\n\t\t};\n\t\tconst onOutsideClick = event => {\n\t\t\tif(root.value && !root.value.contains(event.target)) {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst onKeydown = event => {\n\t\t\tif(event.key === \"Escape\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\t\tconst toggle = () => {\n\t\t\topen.value = !open.value;\n\n\t\t\tif(open.value) {\n\t\t\t\tsetTimeout(() => document.addEventListener(\"click\", onOutsideClick), 0);\n\t\t\t\tdocument.addEventListener(\"keydown\", onKeydown);\n\t\t\t} else {\n\t\t\t\tclose();\n\t\t\t}\n\t\t};\n\n\t\tonBeforeUnmount(close);\n\n\t\treturn () => h(\"div\", { ref: root, class: cx(\"popover\", { \"is-open\": open.value }) }, [\n\t\t\tslots.trigger?.({ open: open.value, toggle }) || h(GnButton, {\n\t\t\t\tvariant: props.variant,\n\t\t\t\ticon: props.icon,\n\t\t\t\t\"aria-expanded\": open.value ? \"true\" : \"false\",\n\t\t\t\tonClick: toggle\n\t\t\t}, () => props.label),\n\t\t\th(\"div\", { class: \"popover-panel\" }, [\n\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"popover-title\" }, slots.title?.() || props.title),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"popover-text\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgress\",\n\tprops: {\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tvariant: { type: String, default: \"secondary\" },\n\t\tstriped: { type: Boolean, default: false },\n\t\tanimated: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\t\t\tconst variant = normalizeVariant(props.variant, \"secondary\");\n\n\t\t\treturn h(\"div\", {\n\t\t\t\t...attrs,\n\t\t\t\tclass: cx(\"progress\", `progress-${variant}`, {\n\t\t\t\t\t\"progress-striped\": props.striped,\n\t\t\t\t\t\"progress-animated\": props.animated\n\t\t\t\t}, attrs.class),\n\t\t\t\tstyle: { \"--progress-value\": `${percent}%` }\n\t\t\t}, [\n\t\t\t\t(props.label || slots.label) && h(\"div\", { class: \"progress-header\" }, [\n\t\t\t\t\th(\"span\", {}, slots.label?.() || props.label),\n\t\t\t\t\th(\"span\", { class: \"progress-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(\"div\", { class: \"progress-track\" }, [\n\t\t\t\t\th(\"span\", {\n\t\t\t\t\t\tclass: \"progress-bar\",\n\t\t\t\t\t\trole: \"progressbar\",\n\t\t\t\t\t\t\"aria-valuenow\": props.value,\n\t\t\t\t\t\t\"aria-valuemin\": 0,\n\t\t\t\t\t\t\"aria-valuemax\": props.max\n\t\t\t\t\t})\n\t\t\t\t])\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnProgressStages\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"progress-stages\", attrs.class) }, props.items.map(item => h(\"div\", {\n\t\t\tclass: cx(\"progress-stage\", {\n\t\t\t\t\"progress-stage-complete\": item.status === \"complete\",\n\t\t\t\t\"progress-stage-current\": item.status === \"current\"\n\t\t\t})\n\t\t}, item.label || item)));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRadio\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tvalue: { type: [String, Number, Boolean], required: true },\n\t\tlabel: { type: String, default: \"\" },\n\t\tname: { type: String, default: \"\" },\n\t\tdisabled: { type: Boolean, default: false }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\treturn () => h(\"label\", { class: cx(\"radio\", attrs.class) }, [\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"radio\",\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: props.value,\n\t\t\t\tchecked: props.modelValue === props.value,\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\tonChange: () => emit(\"update:modelValue\", props.value)\n\t\t\t}),\n\t\t\th(\"span\", { class: \"radio-control\", \"aria-hidden\": \"true\" }),\n\t\t\th(\"span\", { class: \"radio-label\" }, slots.default?.() || props.label)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport GnRadio from \"./GnRadio.js\";\n\nexport default defineComponent({\n\tname: \"GnRadioGroup\",\n\tprops: {\n\t\tmodelValue: { type: [String, Number, Boolean], default: \"\" },\n\t\tname: { type: String, default: \"gn-radio-group\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\treturn () => h(\"div\", { class: \"form-group\", role: \"radiogroup\", \"aria-label\": props.label || undefined }, [\n\t\t\tprops.label && h(\"div\", { class: \"label\" }, props.label),\n\t\t\tslots.default?.() || props.options.map(option => h(GnRadio, {\n\t\t\t\tmodelValue: props.modelValue,\n\t\t\t\t\"onUpdate:modelValue\": value => emit(\"update:modelValue\", value),\n\t\t\t\tname: props.name,\n\t\t\t\tvalue: option.value,\n\t\t\t\tlabel: option.label,\n\t\t\t\tdisabled: option.disabled\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { eventValue } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnRange\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [Number, String], default: 0 },\n\t\tlabel: { type: String, default: \"\" },\n\t\tmin: { type: [Number, String], default: 0 },\n\t\tmax: { type: [Number, String], default: 100 },\n\t\tstep: { type: [Number, String], default: 1 }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"range\" }, [\n\t\t\th(\"label\", { class: \"label\" }, [\n\t\t\t\tprops.label,\n\t\t\t\th(\"input\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\ttype: \"range\",\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tmin: props.min,\n\t\t\t\t\tmax: props.max,\n\t\t\t\t\tstep: props.step,\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnRouterTabs \u2014 Router-aware tab switcher.\n *\n * Wraps GnTabs and drives active state from the current vue-router route.\n * When a tab is activated, the component calls router.push(item.to)\n * instead of emitting update:modelValue.\n *\n * @typedef {Object} GnRouterTabsItem\n * @property {string} id - Slot name and tab identifier\n * @property {string|Object} to - Route target (string path or { name, params, query })\n * @property {string} label - Tab label text\n * @property {string} [icon] - Phosphor icon name with ph- prefix\n * @property {boolean} [disabled] - Disabled state\n *\n * @typedef {Object} GnRouterTabsProps\n * @property {Array} items - Array of GnRouterTabsItem\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label\n * @property {string} [activeMatch='prefix'] - 'exact' | 'prefix' \u2014 how to match current route against item.to\n *\n * @slots [item.id] - One slot per item id\n */\nimport { computed, defineComponent, h, watch } from \"vue\";\nimport { tryUseRouter, tryUseRoute, isRouteActive } from \"../composables/useVueRouter.js\";\nimport GnTabs from \"./GnTabs.js\";\n\nexport default defineComponent({\n\tname: \"GnRouterTabs\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" },\n\t\tactiveMatch: { type: String, default: \"prefix\" }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst router = tryUseRouter();\n\t\tconst route = tryUseRoute();\n\n\t\tconst hasRouter = Boolean(router && route);\n\n\t\tif(!hasRouter && typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\") {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\"[gnexus-ui-kit] GnRouterTabs requires vue-router. Falling back to standard tabs.\");\n\t\t}\n\n\t\tconst tabItems = computed(() => props.items.map(item => ({\n\t\t\tid: item.id,\n\t\t\tlabel: item.label,\n\t\t\ticon: item.icon,\n\t\t\tdisabled: item.disabled,\n\t\t\tto: item.to\n\t\t})));\n\n\t\tconst activeId = computed(() => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t\t}\n\n\t\t\tconst matched = tabItems.value.find(item => {\n\t\t\t\tif(item.disabled || !item.to) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn isRouteActive(route, item.to, props.activeMatch);\n\t\t\t});\n\n\t\t\treturn matched?.id || tabItems.value.find(item => !item.disabled)?.id || \"\";\n\t\t});\n\n\t\tconst onUpdate = id => {\n\t\t\tif(!hasRouter) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst item = tabItems.value.find(i => i.id === id);\n\n\t\t\tif(item && item.to) {\n\t\t\t\trouter.push(item.to);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(GnTabs, {\n\t\t\tmodelValue: activeId.value,\n\t\t\titems: tabItems.value,\n\t\t\tcompact: props.compact,\n\t\t\tvertical: props.vertical,\n\t\t\tariaLabel: props.ariaLabel,\n\t\t\t\"onUpdate:modelValue\": onUpdate\n\t\t}, slots);\n\t}\n});\n", "/**\n * GnTabs - Accessible tab switcher with keyboard navigation.\n *\n * @typedef {Object} GnTabsProps\n * @property {string} [modelValue=''] - Active tab id\n * @property {Array} items - Array of { id, label, icon?, disabled? }\n * @property {boolean} [compact=false] - Compact size\n * @property {boolean} [vertical=false] - Vertical layout\n * @property {string} [ariaLabel='Tabs'] - ARIA label for the tablist\n *\n * @slots [item.id] - One slot per item id: \n * @emits update:modelValue\n */\nimport { computed, defineComponent, h } from \"vue\";\nimport { cx, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTabs\",\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\titems: { type: Array, required: true },\n\t\tcompact: { type: Boolean, default: false },\n\t\tvertical: { type: Boolean, default: false },\n\t\tariaLabel: { type: String, default: \"Tabs\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { emit, slots }) {\n\t\tconst activeId = computed(() => props.modelValue || props.items.find(item => !item.disabled)?.id || props.items[0]?.id);\n\n\t\tconst activate = item => {\n\t\t\tif(!item.disabled) {\n\t\t\t\temit(\"update:modelValue\", item.id);\n\t\t\t}\n\t\t};\n\t\tconst enabledItems = () => props.items.filter(item => !item.disabled);\n\t\tconst move = (item, direction) => {\n\t\t\tconst items = enabledItems();\n\t\t\tconst index = items.findIndex(enabled => enabled.id === item.id);\n\t\t\tconst next = items[(index + direction + items.length) % items.length];\n\t\t\tactivate(next);\n\t\t};\n\t\tconst handleKeydown = (event, item) => {\n\t\t\tif(event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, 1);\n\t\t\t} else if(event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmove(item, -1);\n\t\t\t} else if(event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tactivate(enabledItems()[0]);\n\t\t\t} else if(event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst items = enabledItems();\n\t\t\t\tactivate(items[items.length - 1]);\n\t\t\t}\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"tabs\", {\n\t\t\t\t\"tabs-compact\": props.compact,\n\t\t\t\t\"tabs-vertical\": props.vertical\n\t\t\t})\n\t\t}, [\n\t\t\th(\"div\", { class: \"tabs-list\", role: \"tablist\", \"aria-label\": props.ariaLabel }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\t\t\t\tconst panelId = `${item.id}-panel`;\n\n\t\t\t\treturn h(\"button\", {\n\t\t\t\t\tclass: cx(\"tab\", { \"tab-active\": active }),\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\trole: \"tab\",\n\t\t\t\t\t\"aria-selected\": active ? \"true\" : \"false\",\n\t\t\t\t\t\"aria-controls\": panelId,\n\t\t\t\t\t\"aria-disabled\": item.disabled ? \"true\" : undefined,\n\t\t\t\t\ttabindex: active ? \"0\" : \"-1\",\n\t\t\t\t\tonClick: () => activate(item),\n\t\t\t\t\tonKeydown: event => handleKeydown(event, item)\n\t\t\t\t}, [\n\t\t\t\t\ticonNode(item.icon),\n\t\t\t\t\titem.label\n\t\t\t\t]);\n\t\t\t})),\n\t\t\th(\"div\", { class: \"tabs-panels\" }, props.items.map(item => {\n\t\t\t\tconst active = item.id === activeId.value;\n\n\t\t\t\treturn h(\"div\", {\n\t\t\t\t\tid: `${item.id}-panel`,\n\t\t\t\t\tclass: cx(\"tab-panel\", { \"tab-panel-active\": active }),\n\t\t\t\t\trole: \"tabpanel\",\n\t\t\t\t\thidden: !active\n\t\t\t\t}, slots[item.id]?.({ item, active }) || (active && slots.default?.({ item, active })));\n\t\t\t}))\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSearchField\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tplaceholder: { type: String, default: \"Search\" },\n\t\tcompact: { type: Boolean, default: true },\n\t\tclearable: { type: Boolean, default: true }\n\t},\n\temits: [\"update:modelValue\", \"clear\"],\n\tsetup(props, { attrs, emit }) {\n\t\tconst clear = () => {\n\t\t\temit(\"update:modelValue\", \"\");\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\treturn () => h(\"div\", {\n\t\t\tclass: cx(\"input-group search-field\", { \"input-group-compact\": props.compact })\n\t\t}, [\n\t\t\th(\"span\", { class: \"input-group-addon\" }, [iconNode(\"ph-magnifying-glass\")]),\n\t\t\th(\"input\", {\n\t\t\t\t...attrs,\n\t\t\t\ttype: \"search\",\n\t\t\t\tvalue: props.modelValue,\n\t\t\t\tplaceholder: props.placeholder,\n\t\t\t\tclass: cx(\"input-group-input\", attrs.class),\n\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t}),\n\t\t\tprops.clearable && h(\"button\", {\n\t\t\t\tclass: \"input-group-action\",\n\t\t\t\ttype: \"button\",\n\t\t\t\t\"aria-label\": \"Clear search\",\n\t\t\t\tonClick: clear\n\t\t\t}, [iconNode(\"ph-x\")])\n\t\t]);\n\t}\n});\n", "/**\n * GnSelect - Dropdown select with label, icon, state, and help text.\n *\n * @typedef {Object} GnSelectProps\n * @property {string|number} [modelValue=''] - Bound value\n * @property {string} [label=''] - Label text\n * @property {string} [icon=''] - Phosphor icon name with ph- prefix\n * @property {string} [state=''] - error | warning | success\n * @property {string} [help=''] - Help or validation message\n * @property {Array} [options=[]] - Array of strings or { value, label } objects\n *\n * @slots default - Override option nodes\n * @emits update:modelValue\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSelect\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: [String, Number], default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" },\n\t\toptions: { type: Array, default: () => [] }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit, slots }) {\n\t\tconst optionNodes = () => props.options.map(option => {\n\t\t\tconst value = typeof option === \"object\" ? option.value : option;\n\t\t\tconst label = typeof option === \"object\" ? option.label : option;\n\n\t\t\treturn h(\"option\", { value }, label);\n\t\t});\n\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"div\", { class: \"select-wrap\" }, [\n\t\t\t\t\th(\"select\", {\n\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\t\tclass: cx(\"input select\", attrs.class),\n\t\t\t\t\t\tonChange: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t\t}, slots.default?.() || optionNodes())\n\t\t\t\t])\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSkeleton\",\n\tprops: {\n\t\ttype: { type: String, default: \"line\" },\n\t\tstack: { type: Boolean, default: false },\n\t\tcount: { type: Number, default: 1 }\n\t},\n\tsetup(props, { attrs }) {\n\t\tconst skeleton = key => h(\"span\", {\n\t\t\tkey,\n\t\t\t...attrs,\n\t\t\tclass: cx(\"skeleton\", `skeleton-${props.type}`, attrs.class)\n\t\t});\n\n\t\treturn () => props.stack\n\t\t\t? h(\"div\", { class: \"skeleton-stack\" }, Array.from({ length: props.count }, (_, index) => skeleton(index)))\n\t\t\t: skeleton(0);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnSteps\",\n\tprops: {\n\t\titems: { type: Array, required: true },\n\t\tvertical: { type: Boolean, default: false }\n\t},\n\tsetup(props, { attrs }) {\n\t\treturn () => h(\"ol\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"steps\", { \"steps-vertical\": props.vertical }, attrs.class)\n\t\t}, props.items.map((item, index) => h(\"li\", {\n\t\t\tclass: cx(\"step\", {\n\t\t\t\t\"step-complete\": item.status === \"complete\",\n\t\t\t\t\"step-current\": item.status === \"current\",\n\t\t\t\t\"step-disabled\": item.disabled || item.status === \"disabled\"\n\t\t\t})\n\t\t}, [\n\t\t\th(\"span\", { class: \"step-marker\" }, item.marker || String(index + 1)),\n\t\t\th(\"h3\", { class: \"step-title\" }, item.title),\n\t\t\titem.text && h(\"p\", { class: \"step-text\" }, item.text)\n\t\t])));\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnStatusCard\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\ttext: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"ph-stack\" },\n\t\tvariant: { type: String, default: \"primary\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst variant = normalizeVariant(props.variant);\n\n\t\treturn () => h(\"article\", { ...attrs, class: cx(\"card status-card\", `card-${variant}`, attrs.class) }, [\n\t\t\th(\"span\", { class: \"card-title\" }, slots.title?.() || props.title),\n\t\t\th(\"div\", { class: \"card-content\" }, [\n\t\t\t\th(\"div\", { class: \"status-icon-container\" }, [\n\t\t\t\t\th(\"div\", { class: \"status-icon\" }, slots.icon?.() || [iconNode(props.icon)])\n\t\t\t\t]),\n\t\t\t\t(props.text || slots.default) && h(\"p\", { class: \"status-name\" }, slots.default?.() || props.text)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "/**\n * GnTable - Data table with columns, rows, scoped cell slots, and empty state.\n *\n * @typedef {Object} GnTableProps\n * @property {Array} columns - Array of { key, label } column definitions\n * @property {Array} [rows=[]] - Array of row data objects\n * @property {string} [caption=''] - Table caption\n * @property {string} [emptyText='Empty'] - Text shown when rows is empty\n *\n * @slots cell-${column.key} - Scoped slot per column: { row, column, value }\n * @slots empty - Override empty state\n */\nimport { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTable\",\n\tprops: {\n\t\tcolumns: { type: Array, required: true },\n\t\trows: { type: Array, default: () => [] },\n\t\tcaption: { type: String, default: \"\" },\n\t\temptyText: { type: String, default: \"Empty\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { class: \"table-wrapper\" }, [\n\t\t\th(\"table\", { class: cx(\"table data-list\", { \"table-empty\": !props.rows.length }, attrs.class) }, [\n\t\t\t\tprops.caption && h(\"caption\", { class: \"table-caption\" }, props.caption),\n\t\t\t\th(\"thead\", { class: \"table-head\" }, [\n\t\t\t\t\th(\"tr\", { class: \"table-row\" }, props.columns.map(column => h(\"th\", { scope: \"col\" }, column.label)))\n\t\t\t\t]),\n\t\t\t\th(\"tbody\", { class: \"table-body\" }, props.rows.length\n\t\t\t\t\t? props.rows.map(row => h(\"tr\", { class: \"table-row\" }, props.columns.map(column => {\n\t\t\t\t\t\tconst name = `cell-${column.key}`;\n\t\t\t\t\t\treturn h(\"td\", {}, slots[name]?.({ row, column, value: row[column.key] }) || row[column.key]);\n\t\t\t\t\t})))\n\t\t\t\t\t: h(\"tr\", {}, [h(\"td\", { class: \"is-empty\", colspan: props.columns.length }, slots.empty?.() || props.emptyText)])\n\t\t\t\t)\n\t\t\t])\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, eventValue, iconNode } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTextarea\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tmodelValue: { type: String, default: \"\" },\n\t\tlabel: { type: String, default: \"\" },\n\t\ticon: { type: String, default: \"\" },\n\t\tstate: { type: String, default: \"\" },\n\t\thelp: { type: String, default: \"\" }\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { attrs, emit }) {\n\t\treturn () => h(\"div\", { class: \"form-group\" }, [\n\t\t\th(\"label\", { class: cx(\"label\", props.state) }, [\n\t\t\t\tprops.label,\n\t\t\t\ticonNode(props.icon),\n\t\t\t\th(\"textarea\", {\n\t\t\t\t\t...attrs,\n\t\t\t\t\tvalue: props.modelValue,\n\t\t\t\t\tclass: cx(\"input\", attrs.class),\n\t\t\t\t\tonInput: event => emit(\"update:modelValue\", eventValue(event))\n\t\t\t\t})\n\t\t\t]),\n\t\t\tprops.help && h(\"div\", { class: cx(\"input-info\", props.state === \"error\" && \"error\") }, props.help)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTimeline\",\n\tprops: {\n\t\titems: { type: Array, default: () => [] }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"ol\", { ...attrs, class: cx(\"timeline\", attrs.class) }, props.items.map(item => {\n\t\t\tconst variant = item.variant ? normalizeVariant(item.variant) : \"\";\n\n\t\t\treturn h(\"li\", { class: cx(\"timeline-item\", variant && `timeline-item-${variant}`) }, [\n\t\t\t\th(\"span\", { class: \"timeline-marker\" }, [iconNode(item.icon || \"ph-circle\")]),\n\t\t\t\th(\"div\", { class: \"timeline-content\" }, [\n\t\t\t\t\th(\"article\", { class: \"timeline-card\" }, [\n\t\t\t\t\t\th(\"header\", { class: \"timeline-header\" }, [\n\t\t\t\t\t\t\th(\"h3\", { class: \"timeline-title\" }, item.title),\n\t\t\t\t\t\t\titem.time && h(\"time\", { class: \"timeline-time\" }, item.time)\n\t\t\t\t\t\t]),\n\t\t\t\t\t\th(\"p\", { class: \"timeline-text\" }, slots[item.key]?.({ item }) || item.text),\n\t\t\t\t\t\t(item.meta || slots.meta) && h(\"div\", { class: \"timeline-meta\" }, slots.meta?.({ item }) || item.meta)\n\t\t\t\t\t])\n\t\t\t\t])\n\t\t\t]);\n\t\t}));\n\t}\n});\n", "import { defineComponent, h, ref } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnTooltip\",\n\tprops: {\n\t\ttext: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\tconst open = ref(false);\n\n\t\treturn () => h(\"span\", {\n\t\t\t...attrs,\n\t\t\tclass: cx(\"tooltip\", { \"is-open\": open.value }, attrs.class),\n\t\t\tonFocusin: () => {\n\t\t\t\topen.value = true;\n\t\t\t},\n\t\t\tonFocusout: () => {\n\t\t\t\topen.value = false;\n\t\t\t}\n\t\t}, [\n\t\t\tslots.default?.(),\n\t\t\th(\"span\", { class: \"tooltip-panel\", role: \"tooltip\" }, slots.panel?.() || props.text)\n\t\t]);\n\t}\n});\n", "import { defineComponent, h } from \"vue\";\nimport { cx } from \"../utils.js\";\n\nexport default defineComponent({\n\tname: \"GnToolbar\",\n\tprops: {\n\t\ttitle: { type: String, default: \"\" },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { attrs, slots }) {\n\t\treturn () => h(\"div\", { ...attrs, class: cx(\"toolbar\", attrs.class) }, [\n\t\t\th(\"div\", { class: \"toolbar-group\" }, [\n\t\t\t\th(\"div\", {}, [\n\t\t\t\t\t(props.title || slots.title) && h(\"h3\", { class: \"toolbar-title\" }, slots.title?.() || props.title),\n\t\t\t\t\t(props.meta || slots.meta) && h(\"span\", { class: \"toolbar-meta\" }, slots.meta?.() || props.meta)\n\t\t\t\t])\n\t\t\t]),\n\t\t\t(slots.default || slots.actions) && h(\"div\", { class: \"toolbar-group\" }, slots.actions?.() || slots.default?.())\n\t\t]);\n\t}\n});\n", "import { defineComponent, h, provide, ref } from \"vue\";\nimport { cx, iconNode, normalizeVariant } from \"../utils.js\";\nimport { toastKey } from \"../composables/toast-context.js\";\n\nconst iconByVariant = {\n\tinfo: \"ph-info\",\n\tsuccess: \"ph-check-circle\",\n\twarning: \"ph-warning\",\n\tdanger: \"ph-warning-octagon\",\n\terror: \"ph-warning-octagon\",\n\tprimary: \"ph-info\",\n\tsecondary: \"ph-info\"\n};\n\nexport default defineComponent({\n\tname: \"GnToastProvider\",\n\tprops: {\n\t\tlifetime: { type: Number, default: 4000 }\n\t},\n\tsetup(props, { slots, expose }) {\n\t\tconst toast = ref(null);\n\t\tconst closing = ref(false);\n\t\tlet timer = null;\n\t\tlet closeTimer = null;\n\n\t\tconst dismiss = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\tclosing.value = true;\n\t\t\tcloseTimer = window.setTimeout(() => {\n\t\t\t\ttoast.value = null;\n\t\t\t\tclosing.value = false;\n\t\t\t\twindow.clearTimeout(timer);\n\t\t\t\ttimer = null;\n\t\t\t}, 300);\n\t\t};\n\n\t\tconst close = () => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\twindow.clearTimeout(timer);\n\t\t\tclosing.value = false;\n\t\t\ttoast.value = null;\n\t\t};\n\n\t\tconst show = options => {\n\t\t\twindow.clearTimeout(closeTimer);\n\t\t\tclosing.value = false;\n\t\t\tconst variant = normalizeVariant(options.variant || options.type || \"info\", \"info\");\n\t\t\ttoast.value = {\n\t\t\t\tid: Date.now(),\n\t\t\t\tvariant: variant === \"error\" ? \"danger\" : variant,\n\t\t\t\ttitle: options.title || \"\",\n\t\t\t\ttext: options.text || options.message || \"\",\n\t\t\t\ticon: options.icon || iconByVariant[variant] || iconByVariant.info\n\t\t\t};\n\n\t\t\twindow.clearTimeout(timer);\n\n\t\t\tif(options.lifetime !== 0) {\n\t\t\t\ttimer = window.setTimeout(dismiss, options.lifetime || props.lifetime);\n\t\t\t}\n\t\t};\n\n\t\tconst api = {\n\t\t\tshow,\n\t\t\tclose,\n\t\t\tinfo: options => show({ ...options, variant: \"info\" }),\n\t\t\tsuccess: options => show({ ...options, variant: \"success\" }),\n\t\t\twarning: options => show({ ...options, variant: \"warning\" }),\n\t\t\tdanger: options => show({ ...options, variant: \"danger\" }),\n\t\t\terror: options => show({ ...options, variant: \"danger\" })\n\t\t};\n\n\t\tprovide(toastKey, api);\n\t\texpose(api);\n\n\t\treturn () => [\n\t\t\tslots.default?.(),\n\t\t\ttoast.value && h(\"div\", {\n\t\t\t\tclass: cx(\"toast\", closing.value ? \"a-hide\" : \"a-show\", `toast-${toast.value.variant}`),\n\t\t\t\trole: \"alert\"\n\t\t\t}, [\n\t\t\t\th(\"div\", { class: \"toast-content\" }, [\n\t\t\t\t\th(\"h4\", { class: \"toast-title\" }, [\n\t\t\t\t\t\ticonNode(toast.value.icon),\n\t\t\t\t\t\ttoast.value.title\n\t\t\t\t\t]),\n\t\t\t\t\th(\"p\", { class: \"toast-text\" }, toast.value.text)\n\t\t\t\t]),\n\t\t\t\th(\"button\", {\n\t\t\t\t\tclass: \"btn-icon toast-close\",\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\"aria-label\": \"Close\",\n\t\t\t\t\tonClick: dismiss\n\t\t\t\t}, [iconNode(\"ph-x\")])\n\t\t\t])\n\t\t];\n\t}\n});\n", "export const toastKey = Symbol(\"gnexus-ui-kit-toast\");\n", "import { defineComponent, h } from \"vue\";\nimport GnProgress from \"./GnProgress.js\";\n\nexport default defineComponent({\n\tname: \"GnUsageMeter\",\n\tprops: {\n\t\ttitle: { type: String, required: true },\n\t\tvalue: { type: Number, required: true },\n\t\tmax: { type: Number, default: 100 },\n\t\tmeta: { type: String, default: \"\" }\n\t},\n\tsetup(props, { slots }) {\n\t\treturn () => {\n\t\t\tconst percent = Math.max(0, Math.min(100, Math.round((props.value / props.max) * 100)));\n\n\t\t\treturn h(\"section\", { class: \"usage-meter\" }, [\n\t\t\t\th(\"h3\", { class: \"usage-meter-title\" }, [\n\t\t\t\t\tslots.title?.() || props.title,\n\t\t\t\t\th(\"span\", { class: \"usage-meter-value\" }, `${percent}%`)\n\t\t\t\t]),\n\t\t\t\th(GnProgress, { value: props.value, max: props.max }),\n\t\t\t\t(props.meta || slots.meta) && h(\"p\", { class: \"usage-meter-meta\" }, slots.meta?.() || props.meta)\n\t\t\t]);\n\t\t};\n\t}\n});\n", "import { inject } from \"vue\";\nimport { toastKey } from \"./toast-context.js\";\n\nexport function useToast() {\n\tconst api = inject(toastKey, null);\n\n\tif(api) {\n\t\treturn api;\n\t}\n\n\tconst missingProvider = () => {\n\t\tthrow new Error(\"GNexus UI Kit: useToast() requires near the app root.\");\n\t};\n\n\treturn {\n\t\tshow: missingProvider,\n\t\tinfo: missingProvider,\n\t\tsuccess: missingProvider,\n\t\twarning: missingProvider,\n\t\tdanger: missingProvider,\n\t\terror: missingProvider,\n\t\tclose: missingProvider\n\t};\n}\n\nexport default useToast;\n", "import GnAccordion from \"./components/GnAccordion.js\";\nimport GnActionCard from \"./components/GnActionCard.js\";\nimport GnActionList from \"./components/GnActionList.js\";\nimport GnActivityLog from \"./components/GnActivityLog.js\";\nimport GnAlert from \"./components/GnAlert.js\";\nimport GnAvatar from \"./components/GnAvatar.js\";\nimport GnAvatarStack from \"./components/GnAvatarStack.js\";\nimport GnBadge from \"./components/GnBadge.js\";\nimport GnButton from \"./components/GnButton.js\";\nimport GnCard from \"./components/GnCard.js\";\nimport GnCheckbox from \"./components/GnCheckbox.js\";\nimport GnChip from \"./components/GnChip.js\";\nimport GnCopyButton from \"./components/GnCopyButton.js\";\nimport GnChipGroup from \"./components/GnChipGroup.js\";\nimport GnCombobox from \"./components/GnCombobox.js\";\nimport GnConfirmDialog from \"./components/GnConfirmDialog.js\";\nimport GnDescriptionList from \"./components/GnDescriptionList.js\";\nimport GnDefinitionList from \"./components/GnDefinitionList.js\";\nimport GnDropdown from \"./components/GnDropdown.js\";\nimport GnDrawer from \"./components/GnDrawer.js\";\nimport GnEmptyState from \"./components/GnEmptyState.js\";\nimport GnFileUpload from \"./components/GnFileUpload.js\";\nimport GnIconButton from \"./components/GnIconButton.js\";\nimport GnIdentity from \"./components/GnIdentity.js\";\nimport GnInput from \"./components/GnInput.js\";\nimport GnInputGroup from \"./components/GnInputGroup.js\";\nimport GnList from \"./components/GnList.js\";\nimport GnLoader from \"./components/GnLoader.js\";\nimport GnMetricCard from \"./components/GnMetricCard.js\";\nimport GnModal from \"./components/GnModal.js\";\nimport GnNavList from \"./components/GnNavList.js\";\nimport GnNavigationShell from \"./components/GnNavigationShell.js\";\nimport GnPageHeader from \"./components/GnPageHeader.js\";\nimport GnHorizontalCard from \"./components/GnHorizontalCard.js\";\nimport GnPagination from \"./components/GnPagination.js\";\nimport GnPopover from \"./components/GnPopover.js\";\nimport GnProgress from \"./components/GnProgress.js\";\nimport GnProgressStages from \"./components/GnProgressStages.js\";\nimport GnRadio from \"./components/GnRadio.js\";\nimport GnRadioGroup from \"./components/GnRadioGroup.js\";\nimport GnRange from \"./components/GnRange.js\";\nimport GnRouterTabs from \"./components/GnRouterTabs.js\";\nimport GnSearchField from \"./components/GnSearchField.js\";\nimport GnSelect from \"./components/GnSelect.js\";\nimport GnSkeleton from \"./components/GnSkeleton.js\";\nimport GnSteps from \"./components/GnSteps.js\";\nimport GnStatusCard from \"./components/GnStatusCard.js\";\nimport GnSwitch from \"./components/GnSwitch.js\";\nimport GnTable from \"./components/GnTable.js\";\nimport GnTabs from \"./components/GnTabs.js\";\nimport GnTextarea from \"./components/GnTextarea.js\";\nimport GnTimeline from \"./components/GnTimeline.js\";\nimport GnTooltip from \"./components/GnTooltip.js\";\nimport GnToolbar from \"./components/GnToolbar.js\";\nimport GnToastProvider from \"./components/GnToastProvider.js\";\nimport GnUsageMeter from \"./components/GnUsageMeter.js\";\n\nexport const components = {\n\tGnAccordion,\n\tGnActionCard,\n\tGnActionList,\n\tGnActivityLog,\n\tGnAlert,\n\tGnAvatar,\n\tGnAvatarStack,\n\tGnBadge,\n\tGnButton,\n\tGnCard,\n\tGnCheckbox,\n\tGnChip,\n\tGnChipGroup,\n\tGnCopyButton,\n\tGnCombobox,\n\tGnConfirmDialog,\n\tGnDescriptionList,\n\tGnDefinitionList,\n\tGnDropdown,\n\tGnDrawer,\n\tGnEmptyState,\n\tGnFileUpload,\n\tGnIconButton,\n\tGnIdentity,\n\tGnInput,\n\tGnInputGroup,\n\tGnList,\n\tGnLoader,\n\tGnMetricCard,\n\tGnModal,\n\tGnNavList,\n\tGnNavigationShell,\n\tGnPageHeader,\n\tGnHorizontalCard,\n\tGnPagination,\n\tGnPopover,\n\tGnProgress,\n\tGnProgressStages,\n\tGnRadio,\n\tGnRadioGroup,\n\tGnRange,\n\tGnRouterTabs,\n\tGnSearchField,\n\tGnSelect,\n\tGnSkeleton,\n\tGnSteps,\n\tGnStatusCard,\n\tGnSwitch,\n\tGnTable,\n\tGnTabs,\n\tGnTextarea,\n\tGnTimeline,\n\tGnTooltip,\n\tGnToolbar,\n\tGnToastProvider,\n\tGnUsageMeter\n};\n\nexport default {\n\tinstall(app) {\n\t\tObject.entries(components).forEach(([name, component]) => {\n\t\t\tapp.component(name, component);\n\t\t});\n\t}\n};\n"], + "mappings": "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", "names": ["h", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "nextTick", "ref", "defineComponent", "ref", "nextTick", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "defineComponent", "ref", "onBeforeUnmount", "h", "defineComponent", "h", "nextTick", "onBeforeUnmount", "ref", "Teleport", "watch", "defineComponent", "ref", "watch", "nextTick", "_a", "onBeforeUnmount", "h", "Teleport", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "watch", "defineComponent", "ref", "watch", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "computed", "defineComponent", "h", "defineComponent", "computed", "h", "_a", "defineComponent", "h", "nextTick", "onBeforeUnmount", "ref", "watch", "defineComponent", "ref", "drawerId", "watch", "nextTick", "_a", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "onBeforeUnmount", "ref", "defineComponent", "ref", "onBeforeUnmount", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "computed", "defineComponent", "h", "watch", "computed", "defineComponent", "h", "defineComponent", "computed", "h", "defineComponent", "computed", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "_a", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h", "defineComponent", "h", "ref", "defineComponent", "ref", "h", "defineComponent", "h", "defineComponent", "h"] } diff --git a/examples/vue/dist/assets/index-CZK7DMAT.js b/examples/vue/dist/assets/index-CZK7DMAT.js deleted file mode 100644 index 4d1090f..0000000 --- a/examples/vue/dist/assets/index-CZK7DMAT.js +++ /dev/null @@ -1,122 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&l(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function l(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** -* @vue/shared v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function $n(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const z={},Et=[],_e=()=>{},es=()=>!1,un=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),fn=e=>e.startsWith("onUpdate:"),re=Object.assign,jn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ii=Object.prototype.hasOwnProperty,k=(e,t)=>ii.call(e,t),D=Array.isArray,Ot=e=>kt(e)==="[object Map]",ri=e=>kt(e)==="[object Set]",yl=e=>kt(e)==="[object Date]",R=e=>typeof e=="function",ee=e=>typeof e=="string",ze=e=>typeof e=="symbol",J=e=>e!==null&&typeof e=="object",ts=e=>(J(e)||R(e))&&R(e.then)&&R(e.catch),oi=Object.prototype.toString,kt=e=>oi.call(e),ai=e=>kt(e).slice(8,-1),ci=e=>kt(e)==="[object Object]",Kn=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=$n(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),dn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ui=/-\w/g,be=dn(e=>e.replace(ui,t=>t.slice(1).toUpperCase())),fi=/\B([A-Z])/g,rt=dn(e=>e.replace(fi,"-$1").toLowerCase()),ns=dn(e=>e.charAt(0).toUpperCase()+e.slice(1)),yn=dn(e=>e?`on${ns(e)}`:""),Me=(e,t)=>!Object.is(e,t),Sn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:l,value:n})},di=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Sl;const lt=()=>Sl||(Sl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Wn(e){if(D(e)){const t={};for(let n=0;n{if(n){const l=n.split(hi);l.length>1&&(t[l[0].trim()]=l[1].trim())}}),t}function qn(e){let t="";if(ee(e))t=e;else if(D(e))for(let n=0;n0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,l;for(n=0,l=this.effects.length;n0)return;if(Pt){let t=Pt;for(Pt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ct;){let t=Ct;for(Ct=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(l){e||(e=l)}t=n}}if(e)throw e}function os(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function as(e){let t,n=e.depsTail,l=n;for(;l;){const s=l.prevDep;l.version===-1?(l===n&&(n=s),Xn(l),xi(l)):t=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=s}e.deps=t,e.depsTail=n}function Pn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(cs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function cs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Lt)||(e.globalVersion=Lt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Pn(e))))return;e.flags|=2;const t=e.dep,n=q,l=ye;q=e,ye=!0;try{os(e);const s=e.fn(e._value);(t.version===0||Me(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{q=n,ye=l,as(e),e.flags&=-3}}function Xn(e,t=!1){const{dep:n,prevSub:l,nextSub:s}=e;if(l&&(l.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=l,e.nextSub=void 0),n.subs===e&&(n.subs=l,!l&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Xn(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function xi(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ye=!0;const us=[];function Be(){us.push(ye),ye=!1}function ke(){const e=us.pop();ye=e===void 0?!0:e}function xl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=q;q=void 0;try{t()}finally{q=n}}}let Lt=0;class wi{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Qn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!q||!ye||q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==q)n=this.activeLink=new wi(q,this),q.deps?(n.prevDep=q.depsTail,q.depsTail.nextDep=n,q.depsTail=n):q.deps=q.depsTail=n,fs(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const l=n.nextDep;l.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=l),n.prevDep=q.depsTail,n.nextDep=void 0,q.depsTail.nextDep=n,q.depsTail=n,q.deps===n&&(q.deps=l)}return n}trigger(t){this.version++,Lt++,this.notify(t)}notify(t){Jn();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Yn()}}}function fs(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let l=t.deps;l;l=l.nextDep)fs(l)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Gn=new WeakMap,st=Symbol(""),In=Symbol(""),Ft=Symbol("");function oe(e,t,n){if(ye&&q){let l=Gn.get(e);l||Gn.set(e,l=new Map);let s=l.get(n);s||(l.set(n,s=new Qn),s.map=l,s.key=n),s.track()}}function Ue(e,t,n,l,s,i){const r=Gn.get(e);if(!r){Lt++;return}const o=a=>{a&&a.trigger()};if(Jn(),t==="clear")r.forEach(o);else{const a=D(e),f=a&&Kn(n);if(a&&n==="length"){const u=Number(l);r.forEach((p,m)=>{(m==="length"||m===Ft||!ze(m)&&m>=u)&&o(p)})}else switch((n!==void 0||r.has(void 0))&&o(r.get(n)),f&&o(r.get(Ft)),t){case"add":a?f&&o(r.get("length")):(o(r.get(st)),Ot(e)&&o(r.get(In)));break;case"delete":a||(o(r.get(st)),Ot(e)&&o(r.get(In)));break;case"set":Ot(e)&&o(r.get(st));break}}Yn()}function ct(e){const t=B(e);return t===e?t:(oe(t,"iterate",Ft),Se(e)?t:t.map(He))}function Zn(e){return oe(e=B(e),"iterate",Ft),e}function Pe(e,t){return Je(e)?Nt(ft(e)?He(t):t):He(t)}const Ti={__proto__:null,[Symbol.iterator](){return wn(this,Symbol.iterator,e=>Pe(this,e))},concat(...e){return ct(this).concat(...e.map(t=>D(t)?ct(t):t))},entries(){return wn(this,"entries",e=>(e[1]=Pe(this,e[1]),e))},every(e,t){return Le(this,"every",e,t,void 0,arguments)},filter(e,t){return Le(this,"filter",e,t,n=>n.map(l=>Pe(this,l)),arguments)},find(e,t){return Le(this,"find",e,t,n=>Pe(this,n),arguments)},findIndex(e,t){return Le(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Le(this,"findLast",e,t,n=>Pe(this,n),arguments)},findLastIndex(e,t){return Le(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Le(this,"forEach",e,t,void 0,arguments)},includes(...e){return Tn(this,"includes",e)},indexOf(...e){return Tn(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return Tn(this,"lastIndexOf",e)},map(e,t){return Le(this,"map",e,t,void 0,arguments)},pop(){return bt(this,"pop")},push(...e){return bt(this,"push",e)},reduce(e,...t){return wl(this,"reduce",e,t)},reduceRight(e,...t){return wl(this,"reduceRight",e,t)},shift(){return bt(this,"shift")},some(e,t){return Le(this,"some",e,t,void 0,arguments)},splice(...e){return bt(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return bt(this,"unshift",e)},values(){return wn(this,"values",e=>Pe(this,e))}};function wn(e,t,n){const l=Zn(e),s=l[t]();return l!==e&&!Se(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Ei=Array.prototype;function Le(e,t,n,l,s,i){const r=Zn(e),o=r!==e&&!Se(e),a=r[t];if(a!==Ei[t]){const p=a.apply(e,i);return o?He(p):p}let f=n;r!==e&&(o?f=function(p,m){return n.call(this,Pe(e,p),m,e)}:n.length>2&&(f=function(p,m){return n.call(this,p,m,e)}));const u=a.call(r,f,l);return o&&s?s(u):u}function wl(e,t,n,l){const s=Zn(e),i=s!==e&&!Se(e);let r=n,o=!1;s!==e&&(i?(o=l.length===0,r=function(f,u,p){return o&&(o=!1,f=Pe(e,f)),n.call(this,f,Pe(e,u),p,e)}):n.length>3&&(r=function(f,u,p){return n.call(this,f,u,p,e)}));const a=s[t](r,...l);return o?Pe(e,a):a}function Tn(e,t,n){const l=B(e);oe(l,"iterate",Ft);const s=l[t](...n);return(s===-1||s===!1)&&ll(n[0])?(n[0]=B(n[0]),l[t](...n)):s}function bt(e,t,n=[]){Be(),Jn();const l=B(e)[t].apply(e,n);return Yn(),ke(),l}const Oi=$n("__proto__,__v_isRef,__isVue"),ds=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ze));function Ai(e){ze(e)||(e=String(e));const t=B(this);return oe(t,"has",e),t.hasOwnProperty(e)}class ps{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,l){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return l===(s?i?Fi:vs:i?ms:gs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(l)?t:void 0;const r=D(t);if(!s){let a;if(r&&(a=Ti[n]))return a;if(n==="hasOwnProperty")return Ai}const o=Reflect.get(t,n,ae(t)?t:l);if((ze(n)?ds.has(n):Oi(n))||(s||oe(t,"get",n),i))return o;if(ae(o)){const a=r&&Kn(n)?o:o.value;return s&&J(a)?Dn(a):a}return J(o)?s?Dn(o):tl(o):o}}class hs extends ps{constructor(t=!1){super(!1,t)}set(t,n,l,s){let i=t[n];const r=D(t)&&Kn(n);if(!this._isShallow){const f=Je(i);if(!Se(l)&&!Je(l)&&(i=B(i),l=B(l)),!r&&ae(i)&&!ae(l))return f||(i.value=l),!0}const o=r?Number(n)e,zt=e=>Reflect.getPrototypeOf(e);function Mi(e,t,n){return function(...l){const s=this.__v_raw,i=B(s),r=Ot(i),o=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,f=s[e](...l),u=n?Mn:t?Nt:He;return!t&&oe(i,"iterate",a?In:st),re(Object.create(f),{next(){const{value:p,done:m}=f.next();return m?{value:p,done:m}:{value:o?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function Jt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Di(e,t){const n={get(s){const i=this.__v_raw,r=B(i),o=B(s);e||(Me(s,o)&&oe(r,"get",s),oe(r,"get",o));const{has:a}=zt(r),f=t?Mn:e?Nt:He;if(a.call(r,s))return f(i.get(s));if(a.call(r,o))return f(i.get(o));i!==r&&i.get(s)},get size(){const s=this.__v_raw;return!e&&oe(B(s),"iterate",st),s.size},has(s){const i=this.__v_raw,r=B(i),o=B(s);return e||(Me(s,o)&&oe(r,"has",s),oe(r,"has",o)),s===o?i.has(s):i.has(s)||i.has(o)},forEach(s,i){const r=this,o=r.__v_raw,a=B(o),f=t?Mn:e?Nt:He;return!e&&oe(a,"iterate",st),o.forEach((u,p)=>s.call(i,f(u),f(p),r))}};return re(n,e?{add:Jt("add"),set:Jt("set"),delete:Jt("delete"),clear:Jt("clear")}:{add(s){const i=B(this),r=zt(i),o=B(s),a=!t&&!Se(s)&&!Je(s)?o:s;return r.has.call(i,a)||Me(s,a)&&r.has.call(i,s)||Me(o,a)&&r.has.call(i,o)||(i.add(a),Ue(i,"add",a,a)),this},set(s,i){!t&&!Se(i)&&!Je(i)&&(i=B(i));const r=B(this),{has:o,get:a}=zt(r);let f=o.call(r,s);f||(s=B(s),f=o.call(r,s));const u=a.call(r,s);return r.set(s,i),f?Me(i,u)&&Ue(r,"set",s,i):Ue(r,"add",s,i),this},delete(s){const i=B(this),{has:r,get:o}=zt(i);let a=r.call(i,s);a||(s=B(s),a=r.call(i,s)),o&&o.call(i,s);const f=i.delete(s);return a&&Ue(i,"delete",s,void 0),f},clear(){const s=B(this),i=s.size!==0,r=s.clear();return i&&Ue(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Mi(s,e,t)}),n}function el(e,t){const n=Di(e,t);return(l,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?l:Reflect.get(k(n,s)&&s in l?n:l,s,i)}const Vi={get:el(!1,!1)},Ri={get:el(!1,!0)},Li={get:el(!0,!1)};const gs=new WeakMap,ms=new WeakMap,vs=new WeakMap,Fi=new WeakMap;function Ni(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ui(e){return e.__v_skip||!Object.isExtensible(e)?0:Ni(ai(e))}function tl(e){return Je(e)?e:nl(e,!1,Pi,Vi,gs)}function Bi(e){return nl(e,!1,Ii,Ri,ms)}function Dn(e){return nl(e,!0,Gi,Li,vs)}function nl(e,t,n,l,s){if(!J(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Ui(e);if(i===0)return e;const r=s.get(e);if(r)return r;const o=new Proxy(e,i===2?l:n);return s.set(e,o),o}function ft(e){return Je(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function Je(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function ll(e){return e?!!e.__v_raw:!1}function B(e){const t=e&&e.__v_raw;return t?B(t):e}function ki(e){return!k(e,"__v_skip")&&Object.isExtensible(e)&&en(e,"__v_skip",!0),e}const He=e=>J(e)?tl(e):e,Nt=e=>J(e)?Dn(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function Z(e){return Hi(e,!1)}function Hi(e,t){return ae(e)?e:new $i(e,t)}class $i{constructor(t,n){this.dep=new Qn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:B(t),this._value=n?t:He(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,l=this.__v_isShallow||Se(t)||Je(t);t=l?t:B(t),Me(t,n)&&(this._rawValue=t,this._value=l?t:He(t),this.dep.trigger())}}function ji(e){return ae(e)?e.value:e}const Ki={get:(e,t,n)=>t==="__v_raw"?e:ji(Reflect.get(e,t,n)),set:(e,t,n,l)=>{const s=e[t];return ae(s)&&!ae(n)?(s.value=n,!0):Reflect.set(e,t,n,l)}};function _s(e){return ft(e)?e:new Proxy(e,Ki)}class Wi{constructor(t,n,l){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Qn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Lt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return rs(this,!0),!0}get value(){const t=this.dep.track();return cs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function qi(e,t,n=!1){let l,s;return R(e)?l=e:(l=e.get,s=e.set),new Wi(l,s,n)}const Yt={},tn=new WeakMap;let tt;function zi(e,t=!1,n=tt){if(n){let l=tn.get(n);l||tn.set(n,l=[]),l.push(e)}}function Ji(e,t,n=z){const{immediate:l,deep:s,once:i,scheduler:r,augmentJob:o,call:a}=n,f=I=>s?I:Se(I)||s===!1||s===0?We(I,1):We(I);let u,p,m,T,x=!1,A=!1;if(ae(e)?(p=()=>e.value,x=Se(e)):ft(e)?(p=()=>f(e),x=!0):D(e)?(A=!0,x=e.some(I=>ft(I)||Se(I)),p=()=>e.map(I=>{if(ae(I))return I.value;if(ft(I))return f(I);if(R(I))return a?a(I,2):I()})):R(e)?t?p=a?()=>a(e,2):e:p=()=>{if(m){Be();try{m()}finally{ke()}}const I=tt;tt=u;try{return a?a(e,3,[T]):e(T)}finally{tt=I}}:p=_e,t&&s){const I=p,X=s===!0?1/0:s;p=()=>We(I(),X)}const V=Si(),N=()=>{u.stop(),V&&V.active&&jn(V.effects,u)};if(i&&t){const I=t;t=(...X)=>{I(...X),N()}}let G=A?new Array(e.length).fill(Yt):Yt;const H=I=>{if(!(!(u.flags&1)||!u.dirty&&!I))if(t){const X=u.run();if(s||x||(A?X.some((me,F)=>Me(me,G[F])):Me(X,G))){m&&m();const me=tt;tt=u;try{const F=[X,G===Yt?void 0:A&&G[0]===Yt?[]:G,T];G=X,a?a(t,3,F):t(...F)}finally{tt=me}}}else u.run()};return o&&o(H),u=new ss(p),u.scheduler=r?()=>r(H,!1):H,T=I=>zi(I,!1,u),m=u.onStop=()=>{const I=tn.get(u);if(I){if(a)a(I,4);else for(const X of I)X();tn.delete(u)}},t?l?H(!0):G=u.run():r?r(H.bind(null,!0),!0):u.run(),N.pause=u.pause.bind(u),N.resume=u.resume.bind(u),N.stop=N,N}function We(e,t=1/0,n){if(t<=0||!J(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ae(e))We(e.value,t,n);else if(D(e))for(let l=0;l{We(l,t,n)});else if(ci(e)){for(const l in e)We(e[l],t,n);for(const l of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,l)&&We(e[l],t,n)}return e}/** -* @vue/runtime-core v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ht(e,t,n,l){try{return l?e(...l):e()}catch(s){pn(s,t,n)}}function Re(e,t,n,l){if(R(e)){const s=Ht(e,t,n,l);return s&&ts(s)&&s.catch(i=>{pn(i,t,n)}),s}if(D(e)){const s=[];for(let i=0;i>>1,s=de[l],i=Ut(s);i=Ut(n)?de.push(e):de.splice(Xi(t),0,e),e.flags|=1,ys()}}function ys(){nn||(nn=bs.then(xs))}function Qi(e){D(e)?dt.push(...e):Ke&&e.id===-1?Ke.splice(ut+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),ys()}function Tl(e,t,n=Ce+1){for(;nUt(n)-Ut(l));if(dt.length=0,Ke){Ke.push(...t);return}for(Ke=t,ut=0;ute.id==null?e.flags&2?-1:1/0:e.id;function xs(e){try{for(Ce=0;CeDe.emit(s,...i)),St=[]):typeof window<"u"&&window.HTMLElement&&!((l=(n=window.navigator)==null?void 0:n.userAgent)!=null&&l.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{ws(i,t)}),setTimeout(()=>{De||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Vn=!0,St=[])},3e3)):(Vn=!0,St=[])}function Zi(e,t){hn("app:init",e,t,{Fragment:Ge,Text:jt,Comment:it,Static:Qt})}function er(e){hn("app:unmount",e)}const tr=rl("component:added"),Ts=rl("component:updated"),nr=rl("component:removed"),lr=e=>{De&&typeof De.cleanupBuffer=="function"&&!De.cleanupBuffer(e)&&nr(e)};function rl(e){return t=>{hn(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}function sr(e,t,n){hn("component:emit",e.appContext.app,e,t,n)}let Ve=null,Es=null;function ln(e){const t=Ve;return Ve=e,Es=e&&e.type.__scopeId||null,t}function ir(e,t=Ve,n){if(!t||e._n)return e;const l=(...s)=>{l._d&&on(-1);const i=ln(t);let r;try{r=e(...s)}finally{ln(i),l._d&&on(1)}return __VUE_PROD_DEVTOOLS__&&Ts(t),r};return l._n=!0,l._c=!0,l._d=!0,l}function Ze(e,t,n,l){const s=e.dirs,i=t&&t.dirs;for(let r=0;r1)return n&&R(t)?t.call(l&&l.proxy):t}}const rr=Symbol.for("v-scx"),or=()=>Gt(rr);function It(e,t,n){return As(e,t,n)}function As(e,t,n=z){const{immediate:l,deep:s,flush:i,once:r}=n,o=re({},n),a=t&&l||!t&&i!=="post";let f;if(Bt){if(i==="sync"){const T=or();f=T.__watcherHandles||(T.__watcherHandles=[])}else if(!a){const T=()=>{};return T.stop=_e,T.resume=_e,T.pause=_e,T}}const u=pe;o.call=(T,x,A)=>Re(T,u,x,A);let p=!1;i==="post"?o.scheduler=T=>{fe(T,u&&u.suspense)}:i!=="sync"&&(p=!0,o.scheduler=(T,x)=>{x?T():il(T)}),o.augmentJob=T=>{t&&(T.flags|=4),p&&(T.flags|=2,u&&(T.id=u.uid,T.i=u))};const m=Ji(e,t,o);return Bt&&(f?f.push(m):a&&m()),m}function ar(e,t,n){const l=this.proxy,s=ee(e)?e.includes(".")?Cs(l,e):()=>l[e]:e.bind(l,l);let i;R(t)?i=t:(i=t.handler,n=t);const r=Kt(this),o=As(s,i.bind(l),n);return r(),o}function Cs(e,t){const n=t.split(".");return()=>{let l=e;for(let s=0;se.__isTeleport,nt=e=>e&&(e.disabled||e.disabled===""),ur=e=>e&&(e.defer||e.defer===""),El=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ol=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Rn=(e,t)=>{const n=e&&e.to;return ee(n)?t?t(n):null:n},fr={name:"Teleport",__isTeleport:!0,process(e,t,n,l,s,i,r,o,a,f){const{mc:u,pc:p,pbc:m,o:{insert:T,querySelector:x,createText:A,createComment:V,parentNode:N}}=f,G=nt(t.props);let{dynamicChildren:H}=t;const I=(F,Q,te)=>{F.shapeFlag&16&&u(F.children,Q,te,s,i,r,o,a)},X=(F=t)=>{const Q=nt(F.props),te=F.target=Rn(F.props,x),ge=Ln(te,F,A,T);te&&(r!=="svg"&&El(te)?r="svg":r!=="mathml"&&Ol(te)&&(r="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(te),Q||(I(F,te,ge),xt(F,!1)))},me=F=>{const Q=()=>{if(je.get(F)===Q){if(je.delete(F),nt(F.props)){const te=N(F.el)||n;I(F,te,F.anchor),xt(F,!0)}X(F)}};je.set(F,Q),fe(Q,i)};if(e==null){const F=t.el=A(""),Q=t.anchor=A("");if(T(F,n,l),T(Q,n,l),ur(t.props)||i&&i.pendingBranch){me(t);return}G&&(I(t,n,Q),xt(t,!0)),X()}else{t.el=e.el;const F=t.anchor=e.anchor,Q=je.get(e);if(Q){Q.flags|=8,je.delete(e),me(t);return}t.targetStart=e.targetStart;const te=t.target=e.target,ge=t.targetAnchor=e.targetAnchor,xe=nt(e.props),Ye=xe?n:te,ot=xe?F:ge;if(r==="svg"||El(te)?r="svg":(r==="mathml"||Ol(te))&&(r="mathml"),H?(m(e.dynamicChildren,H,Ye,s,i,r,o),ul(e,t,!0)):a||p(e,t,Ye,ot,s,i,r,o,!1),G)xe?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Xt(t,n,F,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const at=t.target=Rn(t.props,x);at&&Xt(t,at,null,f,0)}else xe&&Xt(t,te,ge,f,1);xt(t,G)}},remove(e,t,n,{um:l,o:{remove:s}},i){const{shapeFlag:r,children:o,anchor:a,targetStart:f,targetAnchor:u,target:p,props:m}=e;let T=i||!nt(m);const x=je.get(e);if(x&&(x.flags|=8,je.delete(e),T=!1),p&&(s(f),s(u)),i&&s(a),r&16)for(let A=0;AMt(A,t&&(D(t)?t[V]:t),n,l,s));return}if(Dt(l)&&!s){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&Mt(e,t,n,l.component.subTree);return}const i=l.shapeFlag&4?pl(l.component):l.el,r=s?null:i,{i:o,r:a}=e,f=t&&t.r,u=o.refs===z?o.refs={}:o.refs,p=o.setupState,m=B(p),T=p===z?es:A=>Al(u,A)?!1:k(m,A),x=(A,V)=>!(V&&Al(u,V));if(f!=null&&f!==a){if(Cl(t),ee(f))u[f]=null,T(f)&&(p[f]=null);else if(ae(f)){const A=t;x(f,A.k)&&(f.value=null),A.k&&(u[A.k]=null)}}if(R(a))Ht(a,o,12,[r,u]);else{const A=ee(a),V=ae(a);if(A||V){const N=()=>{if(e.f){const G=A?T(a)?p[a]:u[a]:x()||!e.k?a.value:u[e.k];if(s)D(G)&&jn(G,i);else if(D(G))G.includes(i)||G.push(i);else if(A)u[a]=[i],T(a)&&(p[a]=u[a]);else{const H=[i];x(a,e.k)&&(a.value=H),e.k&&(u[e.k]=H)}}else A?(u[a]=r,T(a)&&(p[a]=r)):V&&(x(a,e.k)&&(a.value=r),e.k&&(u[e.k]=r))};if(r){const G=()=>{N(),sn.delete(e)};G.id=-1,sn.set(e,G),fe(G,n)}else Cl(e),N()}}}function Cl(e){const t=sn.get(e);t&&(t.flags|=8,sn.delete(e))}lt().requestIdleCallback;lt().cancelIdleCallback;const Dt=e=>!!e.type.__asyncLoader,Is=e=>e.type.__isKeepAlive;function gr(e,t){Ms(e,"a",t)}function mr(e,t){Ms(e,"da",t)}function Ms(e,t,n=pe){const l=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(gn(t,l,n),n){let s=n.parent;for(;s&&s.parent;)Is(s.parent.vnode)&&vr(l,t,n,s),s=s.parent}}function vr(e,t,n,l){const s=gn(t,e,l,!0);Ds(()=>{jn(l[t],s)},n)}function gn(e,t,n=pe,l=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{Be();const o=Kt(n),a=Re(t,n,e,r);return o(),ke(),a});return l?s.unshift(i):s.push(i),i}}const $e=e=>(t,n=pe)=>{(!Bt||e==="sp")&&gn(e,(...l)=>t(...l),n)},_r=$e("bm"),br=$e("m"),yr=$e("bu"),Sr=$e("u"),$t=$e("bum"),Ds=$e("um"),xr=$e("sp"),wr=$e("rtg"),Tr=$e("rtc");function Er(e,t=pe){gn("ec",e,t)}const Or=Symbol.for("v-ndc"),Fn=e=>e?Xs(e)?pl(e):Fn(e.parent):null,Vt=re(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Fn(e.parent),$root:e=>Fn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?Rs(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{il(e.update)}),$nextTick:e=>e.n||(e.n=sl.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?ar.bind(e):_e}),En=(e,t)=>e!==z&&!e.__isScriptSetup&&k(e,t),Ar={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:l,data:s,props:i,accessCache:r,type:o,appContext:a}=e;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return l[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(En(l,t))return r[t]=1,l[t];if(__VUE_OPTIONS_API__&&s!==z&&k(s,t))return r[t]=2,s[t];if(k(i,t))return r[t]=3,i[t];if(n!==z&&k(n,t))return r[t]=4,n[t];(!__VUE_OPTIONS_API__||Nn)&&(r[t]=0)}}const f=Vt[t];let u,p;if(f)return t==="$attrs"&&oe(e.attrs,"get",""),f(e);if((u=o.__cssModules)&&(u=u[t]))return u;if(n!==z&&k(n,t))return r[t]=4,n[t];if(p=a.config.globalProperties,k(p,t))return p[t]},set({_:e},t,n){const{data:l,setupState:s,ctx:i}=e;return En(s,t)?(s[t]=n,!0):__VUE_OPTIONS_API__&&l!==z&&k(l,t)?(l[t]=n,!0):k(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:l,appContext:s,props:i,type:r}},o){let a;return!!(n[o]||__VUE_OPTIONS_API__&&e!==z&&o[0]!=="$"&&k(e,o)||En(t,o)||k(i,o)||k(l,o)||k(Vt,o)||k(s.config.globalProperties,o)||(a=r.__cssModules)&&a[o])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:k(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Pl(e){return D(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Nn=!0;function Cr(e){const t=Rs(e),n=e.proxy,l=e.ctx;Nn=!1,t.beforeCreate&&Gl(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:r,watch:o,provide:a,inject:f,created:u,beforeMount:p,mounted:m,beforeUpdate:T,updated:x,activated:A,deactivated:V,beforeDestroy:N,beforeUnmount:G,destroyed:H,unmounted:I,render:X,renderTracked:me,renderTriggered:F,errorCaptured:Q,serverPrefetch:te,expose:ge,inheritAttrs:xe,components:Ye,directives:ot,filters:at}=t;if(f&&Pr(f,l,null),r)for(const Y in r){const K=r[Y];R(K)&&(l[Y]=K.bind(n))}if(s){const Y=s.call(n,n);J(Y)&&(e.data=tl(Y))}if(Nn=!0,i)for(const Y in i){const K=i[Y],Xe=R(K)?K.bind(n,n):R(K.get)?K.get.bind(n,n):_e,Wt=!R(K)&&R(K.set)?K.set.bind(n):_e,Qe=Rt({get:Xe,set:Wt});Object.defineProperty(l,Y,{enumerable:!0,configurable:!0,get:()=>Qe.value,set:we=>Qe.value=we})}if(o)for(const Y in o)Vs(o[Y],l,n,Y);if(a){const Y=R(a)?a.call(n):a;Reflect.ownKeys(Y).forEach(K=>{Os(K,Y[K])})}u&&Gl(u,e,"c");function ce(Y,K){D(K)?K.forEach(Xe=>Y(Xe.bind(n))):K&&Y(K.bind(n))}if(ce(_r,p),ce(br,m),ce(yr,T),ce(Sr,x),ce(gr,A),ce(mr,V),ce(Er,Q),ce(Tr,me),ce(wr,F),ce($t,G),ce(Ds,I),ce(xr,te),D(ge))if(ge.length){const Y=e.exposed||(e.exposed={});ge.forEach(K=>{Object.defineProperty(Y,K,{get:()=>n[K],set:Xe=>n[K]=Xe,enumerable:!0})})}else e.exposed||(e.exposed={});X&&e.render===_e&&(e.render=X),xe!=null&&(e.inheritAttrs=xe),Ye&&(e.components=Ye),ot&&(e.directives=ot),te&&Gs(e)}function Pr(e,t,n=_e){D(e)&&(e=Un(e));for(const l in e){const s=e[l];let i;J(s)?"default"in s?i=Gt(s.from||l,s.default,!0):i=Gt(s.from||l):i=Gt(s),ae(i)?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[l]=i}}function Gl(e,t,n){Re(D(e)?e.map(l=>l.bind(t.proxy)):e.bind(t.proxy),t,n)}function Vs(e,t,n,l){let s=l.includes(".")?Cs(n,l):()=>n[l];if(ee(e)){const i=t[e];R(i)&&It(s,i)}else if(R(e))It(s,e.bind(n));else if(J(e))if(D(e))e.forEach(i=>Vs(i,t,n,l));else{const i=R(e.handler)?e.handler.bind(n):t[e.handler];R(i)&&It(s,i,e)}}function Rs(e){const t=e.type,{mixins:n,extends:l}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,o=i.get(t);let a;return o?a=o:!s.length&&!n&&!l?a=t:(a={},s.length&&s.forEach(f=>rn(a,f,r,!0)),rn(a,t,r)),J(t)&&i.set(t,a),a}function rn(e,t,n,l=!1){const{mixins:s,extends:i}=t;i&&rn(e,i,n,!0),s&&s.forEach(r=>rn(e,r,n,!0));for(const r in t)if(!(l&&r==="expose")){const o=Gr[r]||n&&n[r];e[r]=o?o(e[r],t[r]):t[r]}return e}const Gr={data:Il,props:Ml,emits:Ml,methods:wt,computed:wt,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:wt,directives:wt,watch:Mr,provide:Il,inject:Ir};function Il(e,t){return t?e?function(){return re(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function Ir(e,t){return wt(Un(e),Un(t))}function Un(e){if(D(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${be(t)}Modifiers`]||e[`${rt(t)}Modifiers`];function Lr(e,t,...n){if(e.isUnmounted)return;const l=e.vnode.props||z;let s=n;const i=t.startsWith("update:"),r=i&&Rr(l,t.slice(7));r&&(r.trim&&(s=n.map(u=>ee(u)?u.trim():u)),r.number&&(s=n.map(di))),__VUE_PROD_DEVTOOLS__&&sr(e,t,s);let o,a=l[o=yn(t)]||l[o=yn(be(t))];!a&&i&&(a=l[o=yn(rt(t))]),a&&Re(a,e,6,s);const f=l[o+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Re(f,e,6,s)}}const Fr=new WeakMap;function Fs(e,t,n=!1){const l=__VUE_OPTIONS_API__&&n?Fr:t.emitsCache,s=l.get(e);if(s!==void 0)return s;const i=e.emits;let r={},o=!1;if(__VUE_OPTIONS_API__&&!R(e)){const a=f=>{const u=Fs(f,t,!0);u&&(o=!0,re(r,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!o?(J(e)&&l.set(e,null),null):(D(i)?i.forEach(a=>r[a]=null):re(r,i),J(e)&&l.set(e,r),r)}function mn(e,t){return!e||!un(t)?!1:(t=t.slice(2).replace(/Once$/,""),k(e,t[0].toLowerCase()+t.slice(1))||k(e,rt(t))||k(e,t))}function Dl(e){const{type:t,vnode:n,proxy:l,withProxy:s,propsOptions:[i],slots:r,attrs:o,emit:a,render:f,renderCache:u,props:p,data:m,setupState:T,ctx:x,inheritAttrs:A}=e,V=ln(e);let N,G;try{if(n.shapeFlag&4){const I=s||l,X=I;N=Ie(f.call(X,I,u,p,T,m,x)),G=o}else{const I=t;N=Ie(I.length>1?I(p,{attrs:o,slots:r,emit:a}):I(p,null)),G=t.props?o:Nr(o)}}catch(I){pn(I,e,1),N=ve(it)}let H=N;if(G&&A!==!1){const I=Object.keys(G),{shapeFlag:X}=H;I.length&&X&7&&(i&&I.some(fn)&&(G=Ur(G,i)),H=ht(H,G,!1,!0))}return n.dirs&&(H=ht(H,null,!1,!0),H.dirs=H.dirs?H.dirs.concat(n.dirs):n.dirs),n.transition&&ol(H,n.transition),N=H,ln(V),N}const Nr=e=>{let t;for(const n in e)(n==="class"||n==="style"||un(n))&&((t||(t={}))[n]=e[n]);return t},Ur=(e,t)=>{const n={};for(const l in e)(!fn(l)||!(l.slice(9)in t))&&(n[l]=e[l]);return n};function Br(e,t,n){const{props:l,children:s,component:i}=e,{props:r,children:o,patchFlag:a}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return l?Vl(l,r,f):!!r;if(a&8){const u=t.dynamicProps;for(let p=0;pObject.create(Us),ks=e=>Object.getPrototypeOf(e)===Us;function Hr(e,t,n,l=!1){const s={},i=Bs();e.propsDefaults=Object.create(null),Hs(e,t,s,i);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);n?e.props=l?s:Bi(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function $r(e,t,n,l){const{props:s,attrs:i,vnode:{patchFlag:r}}=e,o=B(s),[a]=e.propsOptions;let f=!1;if((l||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let p=0;p{a=!0;const[m,T]=$s(p,t,!0);re(r,m),T&&o.push(...T)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!a)return J(e)&&l.set(e,Et),Et;if(D(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",cl=e=>D(e)?e.map(Ie):[Ie(e)],Kr=(e,t,n)=>{if(t._n)return t;const l=ir((...s)=>cl(t(...s)),n);return l._c=!1,l},js=(e,t,n)=>{const l=e._ctx;for(const s in e){if(al(s))continue;const i=e[s];if(R(i))t[s]=Kr(s,i,l);else if(i!=null){const r=cl(i);t[s]=()=>r}}},Ks=(e,t)=>{const n=cl(t);e.slots.default=()=>n},Ws=(e,t,n)=>{for(const l in t)(n||!al(l))&&(e[l]=t[l])},Wr=(e,t,n)=>{const l=e.slots=Bs();if(e.vnode.shapeFlag&32){const s=t._;s?(Ws(l,t,n),n&&en(l,"_",s,!0)):js(t,l)}else t&&Ks(e,t)},qr=(e,t,n)=>{const{vnode:l,slots:s}=e;let i=!0,r=z;if(l.shapeFlag&32){const o=t._;o?n&&o===1?i=!1:Ws(s,t,n):(i=!t.$stable,js(t,s)),r=t}else t&&(Ks(e,t),r={default:1});if(i)for(const o in s)!al(o)&&r[o]==null&&delete s[o]};function zr(){typeof __VUE_OPTIONS_API__!="boolean"&&(lt().__VUE_OPTIONS_API__=!0),typeof __VUE_PROD_DEVTOOLS__!="boolean"&&(lt().__VUE_PROD_DEVTOOLS__=!1),typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__!="boolean"&&(lt().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1)}const fe=Zr;function Jr(e){return Yr(e)}function Yr(e,t){zr();const n=lt();n.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&ws(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:l,remove:s,patchProp:i,createElement:r,createText:o,createComment:a,setText:f,setElementText:u,parentNode:p,nextSibling:m,setScopeId:T=_e,insertStaticContent:x}=e,A=(c,d,g,y=null,v=null,_=null,E=void 0,w=null,S=!!d.dynamicChildren)=>{if(c===d)return;c&&!yt(c,d)&&(y=qt(c),we(c,v,_,!0),c=null),d.patchFlag===-2&&(S=!1,d.dynamicChildren=null);const{type:b,ref:P,shapeFlag:O}=d;switch(b){case jt:V(c,d,g,y);break;case it:N(c,d,g,y);break;case Qt:c==null&&G(d,g,y,E);break;case Ge:Ye(c,d,g,y,v,_,E,w,S);break;default:O&1?X(c,d,g,y,v,_,E,w,S):O&6?ot(c,d,g,y,v,_,E,w,S):(O&64||O&128)&&b.process(c,d,g,y,v,_,E,w,S,vt)}P!=null&&v?Mt(P,c&&c.ref,_,d||c,!d):P==null&&c&&c.ref!=null&&Mt(c.ref,null,_,c,!0)},V=(c,d,g,y)=>{if(c==null)l(d.el=o(d.children),g,y);else{const v=d.el=c.el;d.children!==c.children&&f(v,d.children)}},N=(c,d,g,y)=>{c==null?l(d.el=a(d.children||""),g,y):d.el=c.el},G=(c,d,g,y)=>{[c.el,c.anchor]=x(c.children,d,g,y,c.el,c.anchor)},H=({el:c,anchor:d},g,y)=>{let v;for(;c&&c!==d;)v=m(c),l(c,g,y),c=v;l(d,g,y)},I=({el:c,anchor:d})=>{let g;for(;c&&c!==d;)g=m(c),s(c),c=g;s(d)},X=(c,d,g,y,v,_,E,w,S)=>{if(d.type==="svg"?E="svg":d.type==="math"&&(E="mathml"),c==null)me(d,g,y,v,_,E,w,S);else{const b=c.el&&c.el._isVueCE?c.el:null;try{b&&b._beginPatch(),te(c,d,v,_,E,w,S)}finally{b&&b._endPatch()}}},me=(c,d,g,y,v,_,E,w)=>{let S,b;const{props:P,shapeFlag:O,transition:C,dirs:M}=c;if(S=c.el=r(c.type,_,P&&P.is,P),O&8?u(S,c.children):O&16&&Q(c.children,S,null,y,v,On(c,_),E,w),M&&Ze(c,null,y,"created"),F(S,c,c.scopeId,E,y),P){for(const $ in P)$!=="value"&&!At($)&&i(S,$,null,P[$],_,y);"value"in P&&i(S,"value",null,P.value,_),(b=P.onVnodeBeforeMount)&&Ae(b,y,c)}__VUE_PROD_DEVTOOLS__&&(en(S,"__vnode",c,!0),en(S,"__vueParentComponent",y,!0)),M&&Ze(c,null,y,"beforeMount");const U=Xr(v,C);U&&C.beforeEnter(S),l(S,d,g),((b=P&&P.onVnodeMounted)||U||M)&&fe(()=>{try{b&&Ae(b,y,c),U&&C.enter(S),M&&Ze(c,null,y,"mounted")}finally{}},v)},F=(c,d,g,y,v)=>{if(g&&T(c,g),y)for(let _=0;_{for(let b=S;b{const w=d.el=c.el;__VUE_PROD_DEVTOOLS__&&(w.__vnode=d);let{patchFlag:S,dynamicChildren:b,dirs:P}=d;S|=c.patchFlag&16;const O=c.props||z,C=d.props||z;let M;if(g&&et(g,!1),(M=C.onVnodeBeforeUpdate)&&Ae(M,g,d,c),P&&Ze(d,c,g,"beforeUpdate"),g&&et(g,!0),(O.innerHTML&&C.innerHTML==null||O.textContent&&C.textContent==null)&&u(w,""),b?ge(c.dynamicChildren,b,w,g,y,On(d,v),_):E||K(c,d,w,null,g,y,On(d,v),_,!1),S>0){if(S&16)xe(w,O,C,g,v);else if(S&2&&O.class!==C.class&&i(w,"class",null,C.class,v),S&4&&i(w,"style",O.style,C.style,v),S&8){const U=d.dynamicProps;for(let $=0;${M&&Ae(M,g,d,c),P&&Ze(d,c,g,"updated")},y)},ge=(c,d,g,y,v,_,E)=>{for(let w=0;w{if(d!==g){if(d!==z)for(const _ in d)!At(_)&&!(_ in g)&&i(c,_,d[_],null,v,y);for(const _ in g){if(At(_))continue;const E=g[_],w=d[_];E!==w&&_!=="value"&&i(c,_,w,E,v,y)}"value"in g&&i(c,"value",d.value,g.value,v)}},Ye=(c,d,g,y,v,_,E,w,S)=>{const b=d.el=c?c.el:o(""),P=d.anchor=c?c.anchor:o("");let{patchFlag:O,dynamicChildren:C,slotScopeIds:M}=d;M&&(w=w?w.concat(M):M),c==null?(l(b,g,y),l(P,g,y),Q(d.children||[],g,P,v,_,E,w,S)):O>0&&O&64&&C&&c.dynamicChildren&&c.dynamicChildren.length===C.length?(ge(c.dynamicChildren,C,g,v,_,E,w),(d.key!=null||v&&d===v.subTree)&&ul(c,d,!0)):K(c,d,g,P,v,_,E,w,S)},ot=(c,d,g,y,v,_,E,w,S)=>{d.slotScopeIds=w,c==null?d.shapeFlag&512?v.ctx.activate(d,g,y,E,S):at(d,g,y,v,_,E,S):hl(c,d,S)},at=(c,d,g,y,v,_,E)=>{const w=c.component=oo(c,y,v);if(Is(c)&&(w.ctx.renderer=vt),co(w,!1,E),w.asyncDep){if(v&&v.registerDep(w,ce,E),!c.el){const S=w.subTree=ve(it);N(null,S,d,g),c.placeholder=S.el}}else ce(w,c,d,g,v,_,E)},hl=(c,d,g)=>{const y=d.component=c.component;if(Br(c,d,g))if(y.asyncDep&&!y.asyncResolved){Y(y,d,g);return}else y.next=d,y.update();else d.el=c.el,y.vnode=d},ce=(c,d,g,y,v,_,E)=>{const w=()=>{if(c.isMounted){let{next:O,bu:C,u:M,parent:U,vnode:$}=c;{const Ee=qs(c);if(Ee){O&&(O.el=$.el,Y(c,O,E)),Ee.asyncDep.then(()=>{fe(()=>{c.isUnmounted||b()},v)});return}}let W=O,ne;et(c,!1),O?(O.el=$.el,Y(c,O,E)):O=$,C&&Sn(C),(ne=O.props&&O.props.onVnodeBeforeUpdate)&&Ae(ne,U,O,$),et(c,!0);const se=Dl(c),Te=c.subTree;c.subTree=se,A(Te,se,p(Te.el),qt(Te),c,v,_),O.el=se.el,W===null&&kr(c,se.el),M&&fe(M,v),(ne=O.props&&O.props.onVnodeUpdated)&&fe(()=>Ae(ne,U,O,$),v),__VUE_PROD_DEVTOOLS__&&Ts(c)}else{let O;const{el:C,props:M}=d,{bm:U,m:$,parent:W,root:ne,type:se}=c,Te=Dt(d);et(c,!1),U&&Sn(U),!Te&&(O=M&&M.onVnodeBeforeMount)&&Ae(O,W,d),et(c,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(se,c.parent?c.parent.type:void 0);const Ee=c.subTree=Dl(c);A(null,Ee,g,y,c,v,_),d.el=Ee.el}if($&&fe($,v),!Te&&(O=M&&M.onVnodeMounted)){const Ee=d;fe(()=>Ae(O,W,Ee),v)}(d.shapeFlag&256||W&&Dt(W.vnode)&&W.vnode.shapeFlag&256)&&c.a&&fe(c.a,v),c.isMounted=!0,__VUE_PROD_DEVTOOLS__&&tr(c),d=g=y=null}};c.scope.on();const S=c.effect=new ss(w);c.scope.off();const b=c.update=S.run.bind(S),P=c.job=S.runIfDirty.bind(S);P.i=c,P.id=c.uid,S.scheduler=()=>il(P),et(c,!0),b()},Y=(c,d,g)=>{d.component=c;const y=c.vnode.props;c.vnode=d,c.next=null,$r(c,d.props,y,g),qr(c,d.children,g),Be(),Tl(c),ke()},K=(c,d,g,y,v,_,E,w,S=!1)=>{const b=c&&c.children,P=c?c.shapeFlag:0,O=d.children,{patchFlag:C,shapeFlag:M}=d;if(C>0){if(C&128){Wt(b,O,g,y,v,_,E,w,S);return}else if(C&256){Xe(b,O,g,y,v,_,E,w,S);return}}M&8?(P&16&&mt(b,v,_),O!==b&&u(g,O)):P&16?M&16?Wt(b,O,g,y,v,_,E,w,S):mt(b,v,_,!0):(P&8&&u(g,""),M&16&&Q(O,g,y,v,_,E,w,S))},Xe=(c,d,g,y,v,_,E,w,S)=>{c=c||Et,d=d||Et;const b=c.length,P=d.length,O=Math.min(b,P);let C;for(C=0;CP?mt(c,v,_,!0,!1,O):Q(d,g,y,v,_,E,w,S,O)},Wt=(c,d,g,y,v,_,E,w,S)=>{let b=0;const P=d.length;let O=c.length-1,C=P-1;for(;b<=O&&b<=C;){const M=c[b],U=d[b]=S?Ne(d[b]):Ie(d[b]);if(yt(M,U))A(M,U,g,null,v,_,E,w,S);else break;b++}for(;b<=O&&b<=C;){const M=c[O],U=d[C]=S?Ne(d[C]):Ie(d[C]);if(yt(M,U))A(M,U,g,null,v,_,E,w,S);else break;O--,C--}if(b>O){if(b<=C){const M=C+1,U=MC)for(;b<=O;)we(c[b],v,_,!0),b++;else{const M=b,U=b,$=new Map;for(b=U;b<=C;b++){const he=d[b]=S?Ne(d[b]):Ie(d[b]);he.key!=null&&$.set(he.key,b)}let W,ne=0;const se=C-U+1;let Te=!1,Ee=0;const _t=new Array(se);for(b=0;b=se){we(he,v,_,!0);continue}let Oe;if(he.key!=null)Oe=$.get(he.key);else for(W=U;W<=C;W++)if(_t[W-U]===0&&yt(he,d[W])){Oe=W;break}Oe===void 0?we(he,v,_,!0):(_t[Oe-U]=b+1,Oe>=Ee?Ee=Oe:Te=!0,A(he,d[Oe],g,null,v,_,E,w,S),ne++)}const vl=Te?Qr(_t):Et;for(W=vl.length-1,b=se-1;b>=0;b--){const he=U+b,Oe=d[he],_l=d[he+1],bl=he+1{const{el:_,type:E,transition:w,children:S,shapeFlag:b}=c;if(b&6){Qe(c.component.subTree,d,g,y);return}if(b&128){c.suspense.move(d,g,y);return}if(b&64){E.move(c,d,g,vt);return}if(E===Ge){l(_,d,g);for(let O=0;Ow.enter(_),v);else{const{leave:O,delayLeave:C,afterLeave:M}=w,U=()=>{c.ctx.isUnmounted?s(_):l(_,d,g)},$=()=>{_._isLeaving&&_[hr](!0),O(_,()=>{U(),M&&M()})};C?C(_,U,$):$()}else l(_,d,g)},we=(c,d,g,y=!1,v=!1)=>{const{type:_,props:E,ref:w,children:S,dynamicChildren:b,shapeFlag:P,patchFlag:O,dirs:C,cacheIndex:M,memo:U}=c;if(O===-2&&(v=!1),w!=null&&(Be(),Mt(w,null,g,c,!0),ke()),M!=null&&(d.renderCache[M]=void 0),P&256){d.ctx.deactivate(c);return}const $=P&1&&C,W=!Dt(c);let ne;if(W&&(ne=E&&E.onVnodeBeforeUnmount)&&Ae(ne,d,c),P&6)si(c.component,g,y);else{if(P&128){c.suspense.unmount(g,y);return}$&&Ze(c,null,d,"beforeUnmount"),P&64?c.type.remove(c,d,g,vt,y):b&&!b.hasOnce&&(_!==Ge||O>0&&O&64)?mt(b,d,g,!1,!0):(_===Ge&&O&384||!v&&P&16)&&mt(S,d,g),y&&gl(c)}const se=U!=null&&M==null;(W&&(ne=E&&E.onVnodeUnmounted)||$||se)&&fe(()=>{ne&&Ae(ne,d,c),$&&Ze(c,null,d,"unmounted"),se&&(c.el=null)},g)},gl=c=>{const{type:d,el:g,anchor:y,transition:v}=c;if(d===Ge){li(g,y);return}if(d===Qt){I(c);return}const _=()=>{s(g),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(c.shapeFlag&1&&v&&!v.persisted){const{leave:E,delayLeave:w}=v,S=()=>E(g,_);w?w(c.el,_,S):S()}else _()},li=(c,d)=>{let g;for(;c!==d;)g=m(c),s(c),c=g;s(d)},si=(c,d,g)=>{const{bum:y,scope:v,job:_,subTree:E,um:w,m:S,a:b}=c;Ll(S),Ll(b),y&&Sn(y),v.stop(),_&&(_.flags|=8,we(E,c,d,g)),w&&fe(w,d),fe(()=>{c.isUnmounted=!0},d),__VUE_PROD_DEVTOOLS__&&lr(c)},mt=(c,d,g,y=!1,v=!1,_=0)=>{for(let E=_;E{if(c.shapeFlag&6)return qt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const d=m(c.anchor||c.el),g=d&&d[Ps];return g?m(g):d};let bn=!1;const ml=(c,d,g)=>{let y;c==null?d._vnode&&(we(d._vnode,null,null,!0),y=d._vnode.component):A(d._vnode||null,c,d,null,null,null,g),d._vnode=c,bn||(bn=!0,Tl(y),Ss(),bn=!1)},vt={p:A,um:we,m:Qe,r:gl,mt:at,mc:Q,pc:K,pbc:ge,n:qt,o:e};return{render:ml,hydrate:void 0,createApp:Vr(ml)}}function On({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ul(e,t,n=!1){const l=e.children,s=t.children;if(D(l)&&D(s))for(let i=0;i>1,e[n[o]]0&&(t[l]=n[i-1]),n[i]=l)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function qs(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qs(t)}function Ll(e){if(e)for(let t=0;te.__isSuspense;function Zr(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Qi(e)}const Ge=Symbol.for("v-fgt"),jt=Symbol.for("v-txt"),it=Symbol.for("v-cmt"),Qt=Symbol.for("v-stc");let qe=null,fl=1;function on(e,t=!1){fl+=e,e<0&&qe&&t&&(qe.hasOnce=!0)}function an(e){return e?e.__v_isVNode===!0:!1}function yt(e,t){return e.type===t.type&&e.key===t.key}const Ys=({key:e})=>e??null,Zt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ee(e)||ae(e)||R(e)?{i:Ve,r:e,k:t,f:!!n}:e:null);function eo(e,t=null,n=null,l=0,s=null,i=e===Ge?0:1,r=!1,o=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ys(t),ref:t&&Zt(t),scopeId:Es,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:l,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ve};return o?(dl(a,n),i&128&&e.normalize(a)):n&&(a.shapeFlag|=ee(n)?8:16),fl>0&&!r&&qe&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&qe.push(a),a}const ve=to;function to(e,t=null,n=null,l=0,s=null,i=!1){if((!e||e===Or)&&(e=it),an(e)){const o=ht(e,t,!0);return n&&dl(o,n),fl>0&&!i&&qe&&(o.shapeFlag&6?qe[qe.indexOf(e)]=o:qe.push(o)),o.patchFlag=-2,o}if(ho(e)&&(e=e.__vccOpts),t){t=no(t);let{class:o,style:a}=t;o&&!ee(o)&&(t.class=qn(o)),J(a)&&(ll(a)&&!D(a)&&(a=re({},a)),t.style=Wn(a))}const r=ee(e)?1:Js(e)?128:cr(e)?64:J(e)?4:R(e)?2:0;return eo(e,t,n,l,s,r,i,!0)}function no(e){return e?ll(e)||ks(e)?re({},e):e:null}function ht(e,t,n=!1,l=!1){const{props:s,ref:i,patchFlag:r,children:o,transition:a}=e,f=t?so(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Ys(f),ref:t&&t.ref?n&&i?D(i)?i.concat(Zt(t)):[i,Zt(t)]:Zt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ge?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ht(e.ssContent),ssFallback:e.ssFallback&&ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&l&&ol(u,a.clone(u)),u}function lo(e=" ",t=0){return ve(jt,null,e,t)}function Ie(e){return e==null||typeof e=="boolean"?ve(it):D(e)?ve(Ge,null,e.slice()):an(e)?Ne(e):ve(jt,null,String(e))}function Ne(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ht(e)}function dl(e,t){let n=0;const{shapeFlag:l}=e;if(t==null)t=null;else if(D(t))n=16;else if(typeof t=="object")if(l&65){const s=t.default;s&&(s._c&&(s._d=!1),dl(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!ks(t)?t._ctx=Ve:s===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else R(t)?(t={default:t,_ctx:Ve},n=32):(t=String(t),l&64?(n=16,t=[lo(t)]):n=8);e.children=t,e.shapeFlag|=n}function so(...e){const t={};for(let n=0;npe||Ve;let cn,kn;{const e=lt(),t=(n,l)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(l),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i)}};cn=t("__VUE_INSTANCE_SETTERS__",n=>pe=n),kn=t("__VUE_SSR_SETTERS__",n=>Bt=n)}const Kt=e=>{const t=pe;return cn(e),e.scope.on(),()=>{e.scope.off(),cn(t)}},Fl=()=>{pe&&pe.scope.off(),cn(null)};function Xs(e){return e.vnode.shapeFlag&4}let Bt=!1;function co(e,t=!1,n=!1){t&&kn(t);const{props:l,children:s}=e.vnode,i=Xs(e);Hr(e,l,i,t),Wr(e,s,n||t);const r=i?uo(e,t):void 0;return t&&kn(!1),r}function uo(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ar);const{setup:l}=n;if(l){Be();const s=e.setupContext=l.length>1?po(e):null,i=Kt(e),r=Ht(l,e,0,[e.props,s]),o=ts(r);if(ke(),i(),(o||e.sp)&&!Dt(e)&&Gs(e),o){if(r.then(Fl,Fl),t)return r.then(a=>{Nl(e,a)}).catch(a=>{pn(a,e,0)});e.asyncDep=r}else Nl(e,r)}else Qs(e)}function Nl(e,t,n){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:J(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=_s(t)),Qs(e)}function Qs(e,t,n){const l=e.type;if(e.render||(e.render=l.render||_e),__VUE_OPTIONS_API__){const s=Kt(e);Be();try{Cr(e)}finally{ke(),s()}}}const fo={get(e,t){return oe(e,"get",""),e[t]}};function po(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,fo),slots:e.slots,emit:e.emit,expose:t}}function pl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(_s(ki(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Vt)return Vt[n](e)},has(t,n){return n in t||n in Vt}})):e.proxy}function ho(e){return R(e)&&"__vccOpts"in e}const Rt=(e,t)=>qi(e,t,Bt);function h(e,t,n){try{on(-1);const l=arguments.length;return l===2?J(t)&&!D(t)?an(t)?ve(e,null,[t]):ve(e,t):ve(e,null,t):(l>3?n=Array.prototype.slice.call(arguments,2):l===3&&an(n)&&(n=[n]),ve(e,t,n))}finally{on(1)}}const Ul="3.5.34";/** -* @vue/runtime-dom v3.5.34 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Hn;const Bl=typeof window<"u"&&window.trustedTypes;if(Bl)try{Hn=Bl.createPolicy("vue",{createHTML:e=>e})}catch{}const Zs=Hn?e=>Hn.createHTML(e):e=>e,go="http://www.w3.org/2000/svg",mo="http://www.w3.org/1998/Math/MathML",Fe=typeof document<"u"?document:null,kl=Fe&&Fe.createElement("template"),vo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,l)=>{const s=t==="svg"?Fe.createElementNS(go,e):t==="mathml"?Fe.createElementNS(mo,e):n?Fe.createElement(e,{is:n}):Fe.createElement(e);return e==="select"&&l&&l.multiple!=null&&s.setAttribute("multiple",l.multiple),s},createText:e=>Fe.createTextNode(e),createComment:e=>Fe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,l,s,i){const r=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{kl.innerHTML=Zs(l==="svg"?`${e}`:l==="mathml"?`${e}`:e);const o=kl.content;if(l==="svg"||l==="mathml"){const a=o.firstChild;for(;a.firstChild;)o.appendChild(a.firstChild);o.removeChild(a)}t.insertBefore(o,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_o=Symbol("_vtc");function bo(e,t,n){const l=e[_o];l&&(t=(t?[t,...l]:[...l]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Hl=Symbol("_vod"),yo=Symbol("_vsh"),So=Symbol(""),xo=/(?:^|;)\s*display\s*:/;function wo(e,t,n){const l=e.style,s=ee(n);let i=!1;if(n&&!s){if(t)if(ee(t))for(const r of t.split(";")){const o=r.slice(0,r.indexOf(":")).trim();n[o]==null&&Tt(l,o,"")}else for(const r in t)n[r]==null&&Tt(l,r,"");for(const r in n){r==="display"&&(i=!0);const o=n[r];o!=null?Eo(e,r,!ee(t)&&t?t[r]:void 0,o)||Tt(l,r,o):Tt(l,r,"")}}else if(s){if(t!==n){const r=l[So];r&&(n+=";"+r),l.cssText=n,i=xo.test(n)}}else t&&e.removeAttribute("style");Hl in e&&(e[Hl]=i?l.display:"",e[yo]&&(l.display="none"))}const $l=/\s*!important$/;function Tt(e,t,n){if(D(n))n.forEach(l=>Tt(e,t,l));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const l=To(e,t);$l.test(n)?e.setProperty(rt(l),n.replace($l,""),"important"):e[l]=n}}const jl=["Webkit","Moz","ms"],An={};function To(e,t){const n=An[t];if(n)return n;let l=be(t);if(l!=="filter"&&l in e)return An[t]=l;l=ns(l);for(let s=0;sCn||(Go.then(()=>Cn=0),Cn=Date.now());function Mo(e,t){const n=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=n.attached)return;Re(Do(l,n.value),t,5,[l])};return n.value=e,n.attached=Io(),n}function Do(e,t){if(D(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(l=>s=>!s._stopped&&l&&l(s))}else return t}const Yl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Vo=(e,t,n,l,s,i)=>{const r=s==="svg";t==="class"?bo(e,l,r):t==="style"?wo(e,n,l):un(t)?fn(t)||Co(e,t,n,l,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ro(e,t,l,r))?(ql(e,t,l),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wl(e,t,l,r,i,t!=="value")):e._isVueCE&&(Lo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ee(l)))?ql(e,be(t),l,i,t):(t==="true-value"?e._trueValue=l:t==="false-value"&&(e._falseValue=l),Wl(e,t,l,r))};function Ro(e,t,n,l){if(l)return!!(t==="innerHTML"||t==="textContent"||t in e&&Yl(t)&&R(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Yl(t)&&ee(n)?!1:t in e}function Lo(e,t){const n=e._def.props;if(!n)return!1;const l=be(t);return Array.isArray(n)?n.some(s=>be(s)===l):Object.keys(n).some(s=>be(s)===l)}const Fo=re({patchProp:Vo},vo);let Xl;function No(){return Xl||(Xl=Jr(Fo))}const Uo=((...e)=>{const t=No().createApp(...e),{mount:n}=t;return t.mount=l=>{const s=ko(l);if(!s)return;const i=t._component;!R(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,!1,Bo(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},t});function Bo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ko(e){return ee(e)?document.querySelector(e):e}var Ho={},$o=new Set(["primary","secondary","accent","success","warning","danger","error","info"]);function L(...e){return e.flatMap(t=>t?Array.isArray(t)?t:typeof t=="object"?Object.entries(t).filter(([,n])=>n).map(([n])=>n):[t]:[]).filter(Boolean).join(" ")}function gt(e,t="primary"){return $o.has(e)?e:t}function le(e,t=""){if(!e)return null;const n=e.includes("ph ")||e.startsWith("ph-");n||typeof process<"u"&&Ho&&console.warn(`[gnexus-ui-kit] Icon "${e}" is missing the required "ph-" prefix. Use "ph-${e}" instead.`);const l=n?e:`ph-${e}`;return h("i",{class:L(l,t),"aria-hidden":"true"})}function vn(e){const t=e.target;return t.type==="checkbox"?t.checked:t.value}var jo=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(",");function Ko(e,t){if(e.key!=="Tab"||!t)return;const n=[...t.querySelectorAll(jo)].filter(i=>!i.hasAttribute("disabled")&&i.offsetParent!==null);if(!n.length){e.preventDefault(),t.focus();return}const l=n[0],s=n[n.length-1];e.shiftKey&&document.activeElement===l?(e.preventDefault(),s.focus()):!e.shiftKey&&document.activeElement===s&&(e.preventDefault(),l.focus())}var Wo=j({name:"GnActionCard",props:{kicker:{type:String,default:""},title:{type:String,required:!0},text:{type:String,default:""}},setup(e,{slots:t}){return()=>{var n,l,s;return h("article",{class:"card action-card"},[h("div",{class:"card-content"},[(e.kicker||t.kicker)&&h("span",{class:"action-card-kicker"},((n=t.kicker)==null?void 0:n.call(t))||e.kicker),h("h3",{class:"action-card-title"},((l=t.title)==null?void 0:l.call(t))||e.title),(e.text||t.default)&&h("p",{class:"action-card-text"},((s=t.default)==null?void 0:s.call(t))||e.text),t.actions&&h("div",{class:"action-card-actions"},t.actions())])])}}}),qo=j({name:"GnActivityLog",props:{items:{type:Array,default:()=>[]}},setup(e,{attrs:t,slots:n}){return()=>h("div",{...t,class:L("activity-log",t.class)},e.items.map(l=>{var s;return h("div",{class:"activity-log-row"},[h("time",{class:"activity-log-time"},l.time),h("span",{class:"activity-log-title"},((s=n[l.key])==null?void 0:s.call(n,{item:l}))||l.title),n.actions&&h("span",{},n.actions({item:l}))])}))}}),zo=j({name:"GnAvatar",props:{src:{type:String,default:""},alt:{type:String,default:""},initials:{type:String,default:""},icon:{type:String,default:""},size:{type:String,default:"md"},variant:{type:String,default:"primary"},outline:{type:Boolean,default:!1},status:{type:String,default:""}},setup(e,{attrs:t}){return()=>{const n=gt(e.variant);return h("span",{...t,class:L("avatar",`avatar-${n}`,{"avatar-sm":e.size==="sm","avatar-lg":e.size==="lg","avatar-outline":e.outline,"is-online":e.status==="online","is-busy":e.status==="busy","is-offline":e.status==="offline"},t.class)},[e.src?h("img",{src:e.src,alt:e.alt}):le(e.icon)||e.initials,e.status&&h("span",{class:"avatar-status","aria-hidden":"true"})])}}}),ei=j({name:"GnBadge",props:{variant:{type:String,default:"primary"},outline:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=gt(e.variant);return h("span",{...t,class:L("badge",e.outline&&s==="primary"?"badge-primary-outline":`badge-${s}`,t.class)},(l=n.default)==null?void 0:l.call(n))}}}),_n=j({name:"GnButton",props:{variant:{type:String,default:"primary"},size:{type:String,default:"md"},icon:{type:String,default:""},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{type:String,default:"button"}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=!!(e.icon||e.loading),i=gt(e.variant);return h("button",{...t,type:e.type,disabled:e.disabled||e.loading,class:L("btn",`btn-${i}`,{"btn-small":e.size==="sm","btn-large":e.size==="lg","with-icon":s,"loading-state":e.loading},t.class)},[e.loading?le("ph-bold ph-spinner"):le(e.icon),(l=n.default)==null?void 0:l.call(n)])}}}),Jo=j({name:"GnChip",props:{variant:{type:String,default:""},icon:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removable:{type:Boolean,default:!1}},emits:["remove"],setup(e,{attrs:t,emit:n,slots:l}){return()=>{var s;const i=t.onClick?"button":"span",r=e.variant?gt(e.variant):"";return h(i,{...t,type:i==="button"?"button":void 0,disabled:i==="button"?e.disabled:void 0,"aria-pressed":i==="button"?String(e.selected):void 0,class:L("chip",r&&`chip-${r}`,{"chip-selected":e.selected,"chip-disabled":e.disabled},t.class)},[le(e.icon),(s=l.default)==null?void 0:s.call(l),e.removable&&h("button",{class:"chip-remove",type:"button","aria-label":"Remove",onClick:o=>{o.stopPropagation(),n("remove")}},[le("ph-x")])])}}}),Yo=j({name:"GnChipGroup",setup(e,{attrs:t,slots:n}){return()=>{var l;return h("div",{...t,class:L("chip-group",t.class)},(l=n.default)==null?void 0:l.call(n))}}}),Xo=0,Qo=j({name:"GnCombobox",inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},icon:{type:String,default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search"},notFoundText:{type:String,default:"Nothing found"},state:{type:String,default:""},help:{type:String,default:""}},emits:["update:modelValue","select"],setup(e,{attrs:t,emit:n}){const l=`gn-combobox-${++Xo}`,s=`${l}-listbox`,i=Z(!1),r=Z(-1),o=Z(null),a=Rt(()=>e.options.map(x=>typeof x=="object"?x:{value:x,label:x})),f=Rt(()=>{var x;return String((x=e.modelValue)!=null?x:"").toLowerCase()}),u=Rt(()=>a.value.filter(x=>String(x.label).toLowerCase().includes(f.value))),p=x=>{x&&(n("update:modelValue",x.label),n("select",x),i.value=!1,r.value=-1)},m=x=>{u.value.length&&(i.value=!0,r.value=(r.value+x+u.value.length)%u.value.length,sl(()=>{var A,V,N;const G=(V=(A=o.value)==null?void 0:A.closest(".form-group"))==null?void 0:V.querySelector(".advanced-select");(N=G==null?void 0:G.querySelector(".option.focus"))==null||N.scrollIntoView({block:"nearest"})}))},T=x=>{x.key==="ArrowDown"?(x.preventDefault(),m(1)):x.key==="ArrowUp"?(x.preventDefault(),m(-1)):x.key==="Enter"?(x.preventDefault(),p(u.value[r.value])):x.key==="Escape"&&(i.value=!1,r.value=-1)};return()=>h("div",{class:"form-group"},[h("label",{class:L("label",e.state)},[e.label,le(e.icon),h("input",{...t,ref:o,id:l,type:"text",value:e.modelValue,placeholder:e.placeholder,autocomplete:"off",role:"combobox","aria-autocomplete":"list","aria-expanded":i.value?"true":"false","aria-controls":s,"aria-activedescendant":r.value>=0?`${l}-option-${r.value}`:void 0,class:L("input",t.class),onFocus:()=>{i.value=!0},onBlur:()=>{setTimeout(()=>{i.value=!1},120)},onInput:x=>{r.value=-1,i.value=!0,n("update:modelValue",vn(x))},onKeydown:T})]),h("div",{class:"advanced-select-container"},[h("div",{class:L("advanced-select",{"a-show":i.value})},[h("div",{class:"popup-options-container"},[h("div",{class:L("not-found",{show:!u.value.length})},e.notFoundText),h("div",{id:s,class:L("options",{show:u.value.length}),role:"listbox"},u.value.map((x,A)=>h("div",{id:`${l}-option-${A}`,class:L("option",{focus:A===r.value}),role:"option","aria-selected":A===r.value?"true":"false","data-value":x.value,"data-display-value":x.label,onMousedown:V=>{V.preventDefault(),p(x)}},x.label)))])])]),e.help&&h("div",{class:L("input-info",e.state==="error"&&"error")},e.help)])}}),Zo=0,ea=j({name:"GnModal",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:open","close"],setup(e,{emit:t,slots:n}){const l=`gn-modal-title-${++Zo}`,s=Z(null),i=Z(!1),r=Z(!1);let o=null,a=null;const f=()=>{t("update:open",!1),t("close")},u=m=>{m.key==="Escape"?(m.preventDefault(),f()):Ko(m,s.value)},p=()=>{sl(()=>{var m;(m=s.value)==null||m.focus()})};return It(()=>e.open,m=>{var T;m?(r.value=!1,i.value=!0,o=document.activeElement,document.addEventListener("keydown",u),p()):(r.value=!0,document.removeEventListener("keydown",u),(T=o==null?void 0:o.focus)==null||T.call(o),o=null,a=window.setTimeout(()=>{i.value=!1,r.value=!1},300))},{flush:"post"}),$t(()=>{document.removeEventListener("keydown",u),window.clearTimeout(a)}),()=>{var m,T,x;return i.value?h(pr,{to:"body"},[h("div",{class:L("modal",r.value?"a-hide":"a-show"),"aria-hidden":"false"},[h("div",{class:"modal-backdrop",onClick:()=>e.closeOnBackdrop&&f()}),h("div",{ref:s,class:"modal-dialog",role:"dialog","aria-modal":"true","aria-labelledby":l,tabindex:"-1"},[h("header",{class:"modal-header"},[h("h4",{class:"modal-title",id:l},((m=n.title)==null?void 0:m.call(n))||e.title),h("button",{class:"btn-icon modal-close",type:"button","aria-label":"Close",onClick:f},[le("ph-x")])]),h("div",{class:"modal-panel"},[h("div",{class:"modal-body"},(T=n.default)==null?void 0:T.call(n)),(n.footer||n.actions)&&h("footer",{class:"modal-footer"},[(x=n.footer)==null?void 0:x.call(n),n.actions&&h("div",{class:"actions"},n.actions({close:f}))])])])])]):null}}}),ta=j({name:"GnDescriptionList",props:{items:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>h("dl",{...t,class:L("description-list",{"description-list-compact":e.compact},t.class)},e.items.map(l=>{var s;return h("div",{class:"description-list-row"},[h("dt",{class:"description-list-term"},l.term||l.label),h("dd",{class:L("description-list-value",l.muted&&"description-list-value-muted")},((s=n[l.key])==null?void 0:s.call(n,{item:l}))||l.value)])}))}}),na=j({name:"GnDropdown",props:{label:{type:String,default:"Actions"},icon:{type:String,default:"ph-dots-three-outline"},variant:{type:String,default:"secondary"},items:{type:Array,default:()=>[]}},emits:["select"],setup(e,{emit:t,slots:n}){const l=Z(!1),s=Z(null),i=()=>{l.value=!1,document.removeEventListener("click",r),document.removeEventListener("keydown",o)},r=u=>{s.value&&!s.value.contains(u.target)&&i()},o=u=>{u.key==="Escape"&&(u.preventDefault(),i())},a=()=>{l.value=!l.value,l.value?(setTimeout(()=>document.addEventListener("click",r),0),document.addEventListener("keydown",o)):i()},f=u=>{var p;u.disabled||((p=u.onSelect)==null||p.call(u,u),t("select",u),i())};return $t(i),()=>{var u,p;return h("div",{ref:s,class:L("dropdown",{"is-open":l.value})},[((u=n.trigger)==null?void 0:u.call(n,{open:l.value,toggle:a}))||h(_n,{variant:e.variant,icon:e.icon,"aria-expanded":l.value?"true":"false",onClick:a},()=>e.label),h("div",{class:"dropdown-menu",role:"menu"},((p=n.default)==null?void 0:p.call(n,{close:i}))||e.items.map(m=>h("button",{class:L("dropdown-item",m.danger&&"dropdown-item-danger"),type:"button",role:"menuitem",disabled:m.disabled,onClick:()=>f(m)},[le(m.icon),m.label])))])}}}),la=j({name:"GnEmptyState",props:{title:{type:String,required:!0},text:{type:String,default:""},icon:{type:String,default:"ph-package"},variant:{type:String,default:""}},setup(e,{attrs:t,slots:n}){return()=>{var l,s;return h("div",{...t,class:L("empty-state",e.variant&&`empty-state-${e.variant}`,t.class)},[h("div",{class:"empty-state-icon"},[le(e.icon)]),h("h3",{class:"empty-state-title"},((l=n.title)==null?void 0:l.call(n))||e.title),(e.text||n.default)&&h("p",{class:"empty-state-text"},((s=n.default)==null?void 0:s.call(n))||e.text),n.actions&&h("div",{class:"empty-state-actions"},n.actions())])}}});function Ql(e){const t=e.name.split(".").pop();return t?t.slice(0,6).toUpperCase():"FILE"}function sa(e){if(!e.size)return"0 B";const t=["B","KB","MB","GB"],n=Math.min(Math.floor(Math.log(e.size)/Math.log(1024)),t.length-1),l=e.size/Math.pow(1024,n);return`${l.toFixed(l>=10||n===0?0:1)} ${t[n]}`}var ia=j({name:"GnFileUpload",props:{modelValue:{type:Array,default:()=>[]},title:{type:String,default:"Upload files"},description:{type:String,default:"Attach documents, archives or images."},primary:{type:String,default:"Choose files"},secondary:{type:String,default:"Images get thumbnails, other files show their type"},badge:{type:String,default:""},multiple:{type:Boolean,default:!0},accept:{type:String,default:""}},emits:["update:modelValue","change"],setup(e,{emit:t,slots:n}){const l=Z(new Map),s=f=>{const u=l.value.get(f);u&&(URL.revokeObjectURL(u),l.value.delete(f))},i=()=>{l.value.forEach(f=>URL.revokeObjectURL(f)),l.value.clear()},r=f=>{const u=Array.from(f||[]);t("update:modelValue",u),t("change",u)},o=f=>{s(e.modelValue[f]);const u=e.modelValue.filter((p,m)=>m!==f);t("update:modelValue",u),t("change",u)},a=f=>{var u;return(u=f.type)!=null&&u.startsWith("image/")?(l.value.has(f)||l.value.set(f,URL.createObjectURL(f)),l.value.get(f)):""};return It(()=>e.modelValue,f=>{const u=new Set(f);[...l.value.keys()].forEach(p=>{u.has(p)||s(p)})}),$t(i),()=>{var f,u;return h("div",{class:"file-upload-panel"},[h("div",{class:"file-upload-form"},[h("div",{class:"file-upload-header"},[h("div",{class:"file-upload-heading"},[h("h3",{class:"file-upload-title"},((f=n.title)==null?void 0:f.call(n))||e.title),h("p",{class:"file-upload-description"},((u=n.description)==null?void 0:u.call(n))||e.description)]),e.badge&&h(ei,{variant:"info"},()=>e.badge)]),h("label",{class:"file-upload-dropzone"},[h("span",{class:"file-upload-icon","aria-hidden":"true"},[le("ph-cloud-arrow-up")]),h("span",{class:"file-upload-body"},[h("span",{class:"file-upload-primary"},e.primary),h("span",{class:"file-upload-secondary"},e.secondary)]),h("input",{type:"file",multiple:e.multiple,accept:e.accept||void 0,onChange:p=>r(p.target.files)})]),h("div",{class:"file-upload-preview",hidden:!e.modelValue.length},e.modelValue.map((p,m)=>h("figure",{class:"file-upload-preview-item"},[h("button",{class:"file-upload-preview-remove",type:"button","aria-label":`Remove ${p.name}`,onClick:()=>o(m)},[le("ph-x")]),h("div",{class:"file-upload-preview-visual"},a(p)?h("img",{src:a(p),alt:""}):h("span",{class:"file-upload-preview-type"},Ql(p))),h("figcaption",{},[h("span",{class:"file-upload-preview-name"},p.name),h("span",{class:"file-upload-preview-meta"},`${Ql(p)} / ${sa(p)}`)])]))),n.actions&&h("div",{class:"file-upload-actions"},n.actions()),!n.actions&&e.modelValue.length>0&&h("div",{class:"file-upload-actions"},[h(_n,{variant:"secondary",size:"sm",onClick:()=>{i(),r([])}},()=>"Reset")])])])}}}),ra=j({name:"GnInput",inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},type:{type:String,default:"text"},icon:{type:String,default:""},state:{type:String,default:""},help:{type:String,default:""}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n}){return()=>h("div",{class:"form-group"},[h("label",{class:L("label",e.state)},[e.label,le(e.icon),h("input",{...t,type:e.type,value:e.modelValue,class:L("input",t.class),onInput:l=>n("update:modelValue",vn(l))})]),e.help&&h("div",{class:L("input-info",e.state==="error"&&"error")},e.help)])}}),oa=j({name:"GnMetricCard",props:{label:{type:String,required:!0},value:{type:[String,Number],required:!0},icon:{type:String,default:"ph-chart-line-up"},delta:{type:String,default:""},negative:{type:Boolean,default:!1},meta:{type:String,default:""}},setup(e,{attrs:t,slots:n}){return()=>{var l,s,i;return h("article",{...t,class:L("card metric-card",t.class)},[h("div",{class:"card-content"},[h("div",{class:"metric-card-header"},[h("p",{class:"metric-card-label"},((l=n.label)==null?void 0:l.call(n))||e.label),h("span",{class:"metric-card-icon"},[le(e.icon)])]),h("p",{class:"metric-card-value"},((s=n.value)==null?void 0:s.call(n))||e.value),(e.delta||e.meta||n.meta)&&h("div",{class:"metric-card-meta"},[e.delta&&h("span",{class:L("metric-card-delta",{"metric-card-delta-negative":e.negative})},e.delta),((i=n.meta)==null?void 0:i.call(n))||e.meta])])])}}}),aa=j({name:"GnPageHeader",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},kicker:{type:String,default:""},compact:{type:Boolean,default:!1},accent:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l,s,i;return h("header",{...t,class:L("page-header",{"page-header-compact":e.compact,"page-header-accent":e.accent},t.class)},[h("div",{class:"page-header-content"},[(e.kicker||n.kicker)&&h("div",{class:"page-header-kicker"},((l=n.kicker)==null?void 0:l.call(n))||e.kicker),h("h1",{class:"page-header-title"},((s=n.title)==null?void 0:s.call(n))||e.title),(e.subtitle||n.subtitle)&&h("p",{class:"page-header-subtitle"},((i=n.subtitle)==null?void 0:i.call(n))||e.subtitle),n.meta&&h("div",{class:"page-header-meta"},n.meta())]),n.actions&&h("div",{class:"page-header-actions"},n.actions())])}}}),ca=j({name:"GnPopover",props:{label:{type:String,default:"Details"},title:{type:String,default:""},text:{type:String,default:""},icon:{type:String,default:"ph-info"},variant:{type:String,default:"accent"}},setup(e,{slots:t}){const n=Z(!1),l=Z(null),s=()=>{n.value=!1,document.removeEventListener("click",i),document.removeEventListener("keydown",r)},i=a=>{l.value&&!l.value.contains(a.target)&&s()},r=a=>{a.key==="Escape"&&(a.preventDefault(),s())},o=()=>{n.value=!n.value,n.value?(setTimeout(()=>document.addEventListener("click",i),0),document.addEventListener("keydown",r)):s()};return $t(s),()=>{var a,f,u;return h("div",{ref:l,class:L("popover",{"is-open":n.value})},[((a=t.trigger)==null?void 0:a.call(t,{open:n.value,toggle:o}))||h(_n,{variant:e.variant,icon:e.icon,"aria-expanded":n.value?"true":"false",onClick:o},()=>e.label),h("div",{class:"popover-panel"},[(e.title||t.title)&&h("h3",{class:"popover-title"},((f=t.title)==null?void 0:f.call(t))||e.title),(e.text||t.default)&&h("p",{class:"popover-text"},((u=t.default)==null?void 0:u.call(t))||e.text)])])}}}),ti=j({name:"GnProgress",props:{value:{type:Number,required:!0},max:{type:Number,default:100},label:{type:String,default:""},variant:{type:String,default:"secondary"},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=Math.max(0,Math.min(100,Math.round(e.value/e.max*100))),i=gt(e.variant,"secondary");return h("div",{...t,class:L("progress",`progress-${i}`,{"progress-striped":e.striped,"progress-animated":e.animated},t.class),style:{"--progress-value":`${s}%`}},[(e.label||n.label)&&h("div",{class:"progress-header"},[h("span",{},((l=n.label)==null?void 0:l.call(n))||e.label),h("span",{class:"progress-value"},`${s}%`)]),h("div",{class:"progress-track"},[h("span",{class:"progress-bar",role:"progressbar","aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.max})])])}}}),ua=j({name:"GnProgressStages",props:{items:{type:Array,default:()=>[]}},setup(e,{attrs:t}){return()=>h("div",{...t,class:L("progress-stages",t.class)},e.items.map(n=>h("div",{class:L("progress-stage",{"progress-stage-complete":n.status==="complete","progress-stage-current":n.status==="current"})},n.label||n)))}}),fa=j({name:"GnRadio",inheritAttrs:!1,props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],required:!0},label:{type:String,default:""},name:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n,slots:l}){return()=>{var s;return h("label",{class:L("radio",t.class)},[h("input",{...t,type:"radio",name:e.name,value:e.value,checked:e.modelValue===e.value,disabled:e.disabled,onChange:()=>n("update:modelValue",e.value)}),h("span",{class:"radio-control","aria-hidden":"true"}),h("span",{class:"radio-label"},((s=l.default)==null?void 0:s.call(l))||e.label)])}}}),da=j({name:"GnRadioGroup",props:{modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:"gn-radio-group"},label:{type:String,default:""},options:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){return()=>{var l;return h("div",{class:"form-group",role:"radiogroup","aria-label":e.label||void 0},[e.label&&h("div",{class:"label"},e.label),((l=n.default)==null?void 0:l.call(n))||e.options.map(s=>h(fa,{modelValue:e.modelValue,"onUpdate:modelValue":i=>t("update:modelValue",i),name:e.name,value:s.value,label:s.label,disabled:s.disabled}))])}}}),pa=j({name:"GnRange",inheritAttrs:!1,props:{modelValue:{type:[Number,String],default:0},label:{type:String,default:""},min:{type:[Number,String],default:0},max:{type:[Number,String],default:100},step:{type:[Number,String],default:1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n}){return()=>h("div",{class:"range"},[h("label",{class:"label"},[e.label,h("input",{...t,type:"range",value:e.modelValue,min:e.min,max:e.max,step:e.step,onInput:l=>n("update:modelValue",vn(l))})])])}}),ha=j({name:"GnTabs",props:{modelValue:{type:String,default:""},items:{type:Array,required:!0},compact:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Tabs"}},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const l=Rt(()=>{var a,f;return e.modelValue||((a=e.items.find(u=>!u.disabled))==null?void 0:a.id)||((f=e.items[0])==null?void 0:f.id)}),s=a=>{a.disabled||t("update:modelValue",a.id)},i=()=>e.items.filter(a=>!a.disabled),r=(a,f)=>{const u=i(),p=u.findIndex(T=>T.id===a.id),m=u[(p+f+u.length)%u.length];s(m)},o=(a,f)=>{if(a.key==="ArrowRight"||a.key==="ArrowDown")a.preventDefault(),r(f,1);else if(a.key==="ArrowLeft"||a.key==="ArrowUp")a.preventDefault(),r(f,-1);else if(a.key==="Home")a.preventDefault(),s(i()[0]);else if(a.key==="End"){a.preventDefault();const u=i();s(u[u.length-1])}};return()=>h("div",{class:L("tabs",{"tabs-compact":e.compact,"tabs-vertical":e.vertical})},[h("div",{class:"tabs-list",role:"tablist","aria-label":e.ariaLabel},e.items.map(a=>{const f=a.id===l.value,u=`${a.id}-panel`;return h("button",{class:L("tab",{"tab-active":f}),type:"button",role:"tab","aria-selected":f?"true":"false","aria-controls":u,"aria-disabled":a.disabled?"true":void 0,tabindex:f?"0":"-1",onClick:()=>s(a),onKeydown:p=>o(p,a)},[le(a.icon),a.label])})),h("div",{class:"tabs-panels"},e.items.map(a=>{var f,u;const p=a.id===l.value;return h("div",{id:`${a.id}-panel`,class:L("tab-panel",{"tab-panel-active":p}),role:"tabpanel",hidden:!p},((f=n[a.id])==null?void 0:f.call(n,{item:a,active:p}))||p&&((u=n.default)==null?void 0:u.call(n,{item:a,active:p})))}))])}}),ga=j({name:"GnSearchField",inheritAttrs:!1,props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search"},compact:{type:Boolean,default:!0},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","clear"],setup(e,{attrs:t,emit:n}){const l=()=>{n("update:modelValue",""),n("clear")};return()=>h("div",{class:L("input-group search-field",{"input-group-compact":e.compact})},[h("span",{class:"input-group-addon"},[le("ph-magnifying-glass")]),h("input",{...t,type:"search",value:e.modelValue,placeholder:e.placeholder,class:L("input-group-input",t.class),onInput:s=>n("update:modelValue",vn(s))}),e.clearable&&h("button",{class:"input-group-action",type:"button","aria-label":"Clear search",onClick:l},[le("ph-x")])])}}),ma=j({name:"GnTooltip",props:{text:{type:String,default:""}},setup(e,{attrs:t,slots:n}){const l=Z(!1);return()=>{var s,i;return h("span",{...t,class:L("tooltip",{"is-open":l.value},t.class),onFocusin:()=>{l.value=!0},onFocusout:()=>{l.value=!1}},[(s=n.default)==null?void 0:s.call(n),h("span",{class:"tooltip-panel",role:"tooltip"},((i=n.panel)==null?void 0:i.call(n))||e.text)])}}}),ni=Symbol("gnexus-ui-kit-toast"),Zl={info:"ph-info",success:"ph-check-circle",warning:"ph-warning",danger:"ph-warning-octagon",error:"ph-warning-octagon",primary:"ph-info",secondary:"ph-info"},va=j({name:"GnToastProvider",props:{lifetime:{type:Number,default:4e3}},setup(e,{slots:t,expose:n}){const l=Z(null),s=Z(!1);let i=null,r=null;const o=()=>{window.clearTimeout(r),s.value=!0,r=window.setTimeout(()=>{l.value=null,s.value=!1,window.clearTimeout(i),i=null},300)},a=()=>{window.clearTimeout(r),window.clearTimeout(i),s.value=!1,l.value=null},f=p=>{window.clearTimeout(r),s.value=!1;const m=gt(p.variant||p.type||"info","info");l.value={id:Date.now(),variant:m==="error"?"danger":m,title:p.title||"",text:p.text||p.message||"",icon:p.icon||Zl[m]||Zl.info},window.clearTimeout(i),p.lifetime!==0&&(i=window.setTimeout(o,p.lifetime||e.lifetime))},u={show:f,close:a,info:p=>f({...p,variant:"info"}),success:p=>f({...p,variant:"success"}),warning:p=>f({...p,variant:"warning"}),danger:p=>f({...p,variant:"danger"}),error:p=>f({...p,variant:"danger"})};return Os(ni,u),n(u),()=>{var p;return[(p=t.default)==null?void 0:p.call(t),l.value&&h("div",{class:L("toast",s.value?"a-hide":"a-show",`toast-${l.value.variant}`),role:"alert"},[h("div",{class:"toast-content"},[h("h4",{class:"toast-title"},[le(l.value.icon),l.value.title]),h("p",{class:"toast-text"},l.value.text)]),h("button",{class:"btn-icon toast-close",type:"button","aria-label":"Close",onClick:o},[le("ph-x")])])]}}}),_a=j({name:"GnUsageMeter",props:{title:{type:String,required:!0},value:{type:Number,required:!0},max:{type:Number,default:100},meta:{type:String,default:""}},setup(e,{slots:t}){return()=>{var n,l;const s=Math.max(0,Math.min(100,Math.round(e.value/e.max*100)));return h("section",{class:"usage-meter"},[h("h3",{class:"usage-meter-title"},[((n=t.title)==null?void 0:n.call(t))||e.title,h("span",{class:"usage-meter-value"},`${s}%`)]),h(ti,{value:e.value,max:e.max}),(e.meta||t.meta)&&h("p",{class:"usage-meter-meta"},((l=t.meta)==null?void 0:l.call(t))||e.meta)])}}});function ba(){const e=Gt(ni,null);if(e)return e;const t=()=>{throw new Error("GNexus UI Kit: useToast() requires near the app root.")};return{show:t,info:t,success:t,warning:t,danger:t,error:t,close:t}}const ya={components:{GnButton:_n,GnActionCard:Wo,GnActivityLog:qo,GnAvatar:zo,GnBadge:ei,GnChip:Jo,GnChipGroup:Yo,GnCombobox:Qo,GnDescriptionList:ta,GnDropdown:na,GnEmptyState:la,GnFileUpload:ia,GnInput:ra,GnMetricCard:oa,GnModal:ea,GnPopover:ca,GnPageHeader:aa,GnProgress:ti,GnProgressStages:ua,GnRadioGroup:da,GnRange:pa,GnSearchField:ga,GnTabs:ha,GnTooltip:ma,GnUsageMeter:_a},setup(){const e=Z("overview"),t=Z(!1),n=Z("Launch Plan"),l=Z(""),s=Z("auto"),i=Z(72),r=Z(""),o=Z([]),a=ba();return{activeTab:e,activity:[{key:"created",time:"10:12",title:"Workspace created"},{key:"synced",time:"10:18",title:"Tokens synced"}],details:[{key:"owner",term:"Owner",value:"Ops Console"},{key:"status",term:"Status",value:"Active"},{key:"region",term:"Region",value:"eu-central"}],files:o,mode:s,menuItems:[{label:"Edit",icon:"ph-pencil-simple"},{label:"Duplicate",icon:"ph-copy"},{label:"Delete",icon:"ph-trash",danger:!0}],modalOpen:t,name:n,assignee:r,people:[{label:"Joe",value:"joe"},{label:"James",value:"james"},{label:"Eliza",value:"eliza"},{label:"Emily",value:"emily"}],query:l,rollout:i,modes:[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"Locked",value:"locked",disabled:!0}],stages:[{label:"Created",status:"complete"},{label:"Review",status:"current"},{label:"Deploy"},{label:"Done"}],tabs:[{id:"overview",label:"Overview",icon:"ph-chart-bar"},{id:"activity",label:"Activity",icon:"ph-clock"}],save:()=>{a.success({title:"Saved",text:`${n.value} updated`}),t.value=!1}}},template:` -
    - - - - -
    - - - -
    - -
    - - - - -
    - -
    -
    - - - - -
    -
    - -
    -
    - - - -
    -
    - -
    - -
    - -
    -
    - -
    - -
    - -
    - - - -
    - - - - - -
    - `},Sa={components:{GnToastProvider:va,DemoScreen:ya},template:` - - - - `};Uo(Sa).mount("#app"); diff --git a/examples/vue/dist/assets/index-DeJpMzDj.js b/examples/vue/dist/assets/index-DeJpMzDj.js new file mode 100644 index 0000000..5549178 --- /dev/null +++ b/examples/vue/dist/assets/index-DeJpMzDj.js @@ -0,0 +1,122 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&l(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function l(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** +* @vue/shared v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function $n(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const z={},Et=[],_e=()=>{},es=()=>!1,un=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),fn=e=>e.startsWith("onUpdate:"),re=Object.assign,jn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ii=Object.prototype.hasOwnProperty,k=(e,t)=>ii.call(e,t),D=Array.isArray,Ot=e=>kt(e)==="[object Map]",ri=e=>kt(e)==="[object Set]",yl=e=>kt(e)==="[object Date]",R=e=>typeof e=="function",ee=e=>typeof e=="string",ze=e=>typeof e=="symbol",J=e=>e!==null&&typeof e=="object",ts=e=>(J(e)||R(e))&&R(e.then)&&R(e.catch),oi=Object.prototype.toString,kt=e=>oi.call(e),ai=e=>kt(e).slice(8,-1),ci=e=>kt(e)==="[object Object]",Kn=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=$n(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),dn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ui=/-\w/g,be=dn(e=>e.replace(ui,t=>t.slice(1).toUpperCase())),fi=/\B([A-Z])/g,rt=dn(e=>e.replace(fi,"-$1").toLowerCase()),ns=dn(e=>e.charAt(0).toUpperCase()+e.slice(1)),yn=dn(e=>e?`on${ns(e)}`:""),Me=(e,t)=>!Object.is(e,t),Sn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:l,value:n})},di=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Sl;const lt=()=>Sl||(Sl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Wn(e){if(D(e)){const t={};for(let n=0;n{if(n){const l=n.split(hi);l.length>1&&(t[l[0].trim()]=l[1].trim())}}),t}function qn(e){let t="";if(ee(e))t=e;else if(D(e))for(let n=0;n0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,l;for(n=0,l=this.effects.length;n0)return;if(Pt){let t=Pt;for(Pt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ct;){let t=Ct;for(Ct=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(l){e||(e=l)}t=n}}if(e)throw e}function os(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function as(e){let t,n=e.depsTail,l=n;for(;l;){const s=l.prevDep;l.version===-1?(l===n&&(n=s),Xn(l),xi(l)):t=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=s}e.deps=t,e.depsTail=n}function Pn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(cs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function cs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Lt)||(e.globalVersion=Lt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Pn(e))))return;e.flags|=2;const t=e.dep,n=q,l=ye;q=e,ye=!0;try{os(e);const s=e.fn(e._value);(t.version===0||Me(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{q=n,ye=l,as(e),e.flags&=-3}}function Xn(e,t=!1){const{dep:n,prevSub:l,nextSub:s}=e;if(l&&(l.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=l,e.nextSub=void 0),n.subs===e&&(n.subs=l,!l&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Xn(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function xi(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ye=!0;const us=[];function Be(){us.push(ye),ye=!1}function ke(){const e=us.pop();ye=e===void 0?!0:e}function xl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=q;q=void 0;try{t()}finally{q=n}}}let Lt=0;class wi{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Qn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!q||!ye||q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==q)n=this.activeLink=new wi(q,this),q.deps?(n.prevDep=q.depsTail,q.depsTail.nextDep=n,q.depsTail=n):q.deps=q.depsTail=n,fs(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const l=n.nextDep;l.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=l),n.prevDep=q.depsTail,n.nextDep=void 0,q.depsTail.nextDep=n,q.depsTail=n,q.deps===n&&(q.deps=l)}return n}trigger(t){this.version++,Lt++,this.notify(t)}notify(t){Jn();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Yn()}}}function fs(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let l=t.deps;l;l=l.nextDep)fs(l)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Gn=new WeakMap,st=Symbol(""),In=Symbol(""),Ft=Symbol("");function oe(e,t,n){if(ye&&q){let l=Gn.get(e);l||Gn.set(e,l=new Map);let s=l.get(n);s||(l.set(n,s=new Qn),s.map=l,s.key=n),s.track()}}function Ue(e,t,n,l,s,i){const r=Gn.get(e);if(!r){Lt++;return}const o=a=>{a&&a.trigger()};if(Jn(),t==="clear")r.forEach(o);else{const a=D(e),f=a&&Kn(n);if(a&&n==="length"){const u=Number(l);r.forEach((p,m)=>{(m==="length"||m===Ft||!ze(m)&&m>=u)&&o(p)})}else switch((n!==void 0||r.has(void 0))&&o(r.get(n)),f&&o(r.get(Ft)),t){case"add":a?f&&o(r.get("length")):(o(r.get(st)),Ot(e)&&o(r.get(In)));break;case"delete":a||(o(r.get(st)),Ot(e)&&o(r.get(In)));break;case"set":Ot(e)&&o(r.get(st));break}}Yn()}function ct(e){const t=B(e);return t===e?t:(oe(t,"iterate",Ft),Se(e)?t:t.map(He))}function Zn(e){return oe(e=B(e),"iterate",Ft),e}function Pe(e,t){return Je(e)?Nt(ft(e)?He(t):t):He(t)}const Ti={__proto__:null,[Symbol.iterator](){return wn(this,Symbol.iterator,e=>Pe(this,e))},concat(...e){return ct(this).concat(...e.map(t=>D(t)?ct(t):t))},entries(){return wn(this,"entries",e=>(e[1]=Pe(this,e[1]),e))},every(e,t){return Le(this,"every",e,t,void 0,arguments)},filter(e,t){return Le(this,"filter",e,t,n=>n.map(l=>Pe(this,l)),arguments)},find(e,t){return Le(this,"find",e,t,n=>Pe(this,n),arguments)},findIndex(e,t){return Le(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Le(this,"findLast",e,t,n=>Pe(this,n),arguments)},findLastIndex(e,t){return Le(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Le(this,"forEach",e,t,void 0,arguments)},includes(...e){return Tn(this,"includes",e)},indexOf(...e){return Tn(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return Tn(this,"lastIndexOf",e)},map(e,t){return Le(this,"map",e,t,void 0,arguments)},pop(){return bt(this,"pop")},push(...e){return bt(this,"push",e)},reduce(e,...t){return wl(this,"reduce",e,t)},reduceRight(e,...t){return wl(this,"reduceRight",e,t)},shift(){return bt(this,"shift")},some(e,t){return Le(this,"some",e,t,void 0,arguments)},splice(...e){return bt(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return bt(this,"unshift",e)},values(){return wn(this,"values",e=>Pe(this,e))}};function wn(e,t,n){const l=Zn(e),s=l[t]();return l!==e&&!Se(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Ei=Array.prototype;function Le(e,t,n,l,s,i){const r=Zn(e),o=r!==e&&!Se(e),a=r[t];if(a!==Ei[t]){const p=a.apply(e,i);return o?He(p):p}let f=n;r!==e&&(o?f=function(p,m){return n.call(this,Pe(e,p),m,e)}:n.length>2&&(f=function(p,m){return n.call(this,p,m,e)}));const u=a.call(r,f,l);return o&&s?s(u):u}function wl(e,t,n,l){const s=Zn(e),i=s!==e&&!Se(e);let r=n,o=!1;s!==e&&(i?(o=l.length===0,r=function(f,u,p){return o&&(o=!1,f=Pe(e,f)),n.call(this,f,Pe(e,u),p,e)}):n.length>3&&(r=function(f,u,p){return n.call(this,f,u,p,e)}));const a=s[t](r,...l);return o?Pe(e,a):a}function Tn(e,t,n){const l=B(e);oe(l,"iterate",Ft);const s=l[t](...n);return(s===-1||s===!1)&&ll(n[0])?(n[0]=B(n[0]),l[t](...n)):s}function bt(e,t,n=[]){Be(),Jn();const l=B(e)[t].apply(e,n);return Yn(),ke(),l}const Oi=$n("__proto__,__v_isRef,__isVue"),ds=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ze));function Ai(e){ze(e)||(e=String(e));const t=B(this);return oe(t,"has",e),t.hasOwnProperty(e)}class ps{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,l){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return l===(s?i?Fi:vs:i?ms:gs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(l)?t:void 0;const r=D(t);if(!s){let a;if(r&&(a=Ti[n]))return a;if(n==="hasOwnProperty")return Ai}const o=Reflect.get(t,n,ae(t)?t:l);if((ze(n)?ds.has(n):Oi(n))||(s||oe(t,"get",n),i))return o;if(ae(o)){const a=r&&Kn(n)?o:o.value;return s&&J(a)?Dn(a):a}return J(o)?s?Dn(o):tl(o):o}}class hs extends ps{constructor(t=!1){super(!1,t)}set(t,n,l,s){let i=t[n];const r=D(t)&&Kn(n);if(!this._isShallow){const f=Je(i);if(!Se(l)&&!Je(l)&&(i=B(i),l=B(l)),!r&&ae(i)&&!ae(l))return f||(i.value=l),!0}const o=r?Number(n)e,zt=e=>Reflect.getPrototypeOf(e);function Mi(e,t,n){return function(...l){const s=this.__v_raw,i=B(s),r=Ot(i),o=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,f=s[e](...l),u=n?Mn:t?Nt:He;return!t&&oe(i,"iterate",a?In:st),re(Object.create(f),{next(){const{value:p,done:m}=f.next();return m?{value:p,done:m}:{value:o?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function Jt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Di(e,t){const n={get(s){const i=this.__v_raw,r=B(i),o=B(s);e||(Me(s,o)&&oe(r,"get",s),oe(r,"get",o));const{has:a}=zt(r),f=t?Mn:e?Nt:He;if(a.call(r,s))return f(i.get(s));if(a.call(r,o))return f(i.get(o));i!==r&&i.get(s)},get size(){const s=this.__v_raw;return!e&&oe(B(s),"iterate",st),s.size},has(s){const i=this.__v_raw,r=B(i),o=B(s);return e||(Me(s,o)&&oe(r,"has",s),oe(r,"has",o)),s===o?i.has(s):i.has(s)||i.has(o)},forEach(s,i){const r=this,o=r.__v_raw,a=B(o),f=t?Mn:e?Nt:He;return!e&&oe(a,"iterate",st),o.forEach((u,p)=>s.call(i,f(u),f(p),r))}};return re(n,e?{add:Jt("add"),set:Jt("set"),delete:Jt("delete"),clear:Jt("clear")}:{add(s){const i=B(this),r=zt(i),o=B(s),a=!t&&!Se(s)&&!Je(s)?o:s;return r.has.call(i,a)||Me(s,a)&&r.has.call(i,s)||Me(o,a)&&r.has.call(i,o)||(i.add(a),Ue(i,"add",a,a)),this},set(s,i){!t&&!Se(i)&&!Je(i)&&(i=B(i));const r=B(this),{has:o,get:a}=zt(r);let f=o.call(r,s);f||(s=B(s),f=o.call(r,s));const u=a.call(r,s);return r.set(s,i),f?Me(i,u)&&Ue(r,"set",s,i):Ue(r,"add",s,i),this},delete(s){const i=B(this),{has:r,get:o}=zt(i);let a=r.call(i,s);a||(s=B(s),a=r.call(i,s)),o&&o.call(i,s);const f=i.delete(s);return a&&Ue(i,"delete",s,void 0),f},clear(){const s=B(this),i=s.size!==0,r=s.clear();return i&&Ue(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Mi(s,e,t)}),n}function el(e,t){const n=Di(e,t);return(l,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?l:Reflect.get(k(n,s)&&s in l?n:l,s,i)}const Vi={get:el(!1,!1)},Ri={get:el(!1,!0)},Li={get:el(!0,!1)};const gs=new WeakMap,ms=new WeakMap,vs=new WeakMap,Fi=new WeakMap;function Ni(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ui(e){return e.__v_skip||!Object.isExtensible(e)?0:Ni(ai(e))}function tl(e){return Je(e)?e:nl(e,!1,Pi,Vi,gs)}function Bi(e){return nl(e,!1,Ii,Ri,ms)}function Dn(e){return nl(e,!0,Gi,Li,vs)}function nl(e,t,n,l,s){if(!J(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Ui(e);if(i===0)return e;const r=s.get(e);if(r)return r;const o=new Proxy(e,i===2?l:n);return s.set(e,o),o}function ft(e){return Je(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function Je(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function ll(e){return e?!!e.__v_raw:!1}function B(e){const t=e&&e.__v_raw;return t?B(t):e}function ki(e){return!k(e,"__v_skip")&&Object.isExtensible(e)&&en(e,"__v_skip",!0),e}const He=e=>J(e)?tl(e):e,Nt=e=>J(e)?Dn(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function Z(e){return Hi(e,!1)}function Hi(e,t){return ae(e)?e:new $i(e,t)}class $i{constructor(t,n){this.dep=new Qn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:B(t),this._value=n?t:He(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,l=this.__v_isShallow||Se(t)||Je(t);t=l?t:B(t),Me(t,n)&&(this._rawValue=t,this._value=l?t:He(t),this.dep.trigger())}}function ji(e){return ae(e)?e.value:e}const Ki={get:(e,t,n)=>t==="__v_raw"?e:ji(Reflect.get(e,t,n)),set:(e,t,n,l)=>{const s=e[t];return ae(s)&&!ae(n)?(s.value=n,!0):Reflect.set(e,t,n,l)}};function _s(e){return ft(e)?e:new Proxy(e,Ki)}class Wi{constructor(t,n,l){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Qn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Lt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return rs(this,!0),!0}get value(){const t=this.dep.track();return cs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function qi(e,t,n=!1){let l,s;return R(e)?l=e:(l=e.get,s=e.set),new Wi(l,s,n)}const Yt={},tn=new WeakMap;let tt;function zi(e,t=!1,n=tt){if(n){let l=tn.get(n);l||tn.set(n,l=[]),l.push(e)}}function Ji(e,t,n=z){const{immediate:l,deep:s,once:i,scheduler:r,augmentJob:o,call:a}=n,f=I=>s?I:Se(I)||s===!1||s===0?We(I,1):We(I);let u,p,m,T,x=!1,A=!1;if(ae(e)?(p=()=>e.value,x=Se(e)):ft(e)?(p=()=>f(e),x=!0):D(e)?(A=!0,x=e.some(I=>ft(I)||Se(I)),p=()=>e.map(I=>{if(ae(I))return I.value;if(ft(I))return f(I);if(R(I))return a?a(I,2):I()})):R(e)?t?p=a?()=>a(e,2):e:p=()=>{if(m){Be();try{m()}finally{ke()}}const I=tt;tt=u;try{return a?a(e,3,[T]):e(T)}finally{tt=I}}:p=_e,t&&s){const I=p,X=s===!0?1/0:s;p=()=>We(I(),X)}const V=Si(),N=()=>{u.stop(),V&&V.active&&jn(V.effects,u)};if(i&&t){const I=t;t=(...X)=>{I(...X),N()}}let G=A?new Array(e.length).fill(Yt):Yt;const H=I=>{if(!(!(u.flags&1)||!u.dirty&&!I))if(t){const X=u.run();if(s||x||(A?X.some((me,F)=>Me(me,G[F])):Me(X,G))){m&&m();const me=tt;tt=u;try{const F=[X,G===Yt?void 0:A&&G[0]===Yt?[]:G,T];G=X,a?a(t,3,F):t(...F)}finally{tt=me}}}else u.run()};return o&&o(H),u=new ss(p),u.scheduler=r?()=>r(H,!1):H,T=I=>zi(I,!1,u),m=u.onStop=()=>{const I=tn.get(u);if(I){if(a)a(I,4);else for(const X of I)X();tn.delete(u)}},t?l?H(!0):G=u.run():r?r(H.bind(null,!0),!0):u.run(),N.pause=u.pause.bind(u),N.resume=u.resume.bind(u),N.stop=N,N}function We(e,t=1/0,n){if(t<=0||!J(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ae(e))We(e.value,t,n);else if(D(e))for(let l=0;l{We(l,t,n)});else if(ci(e)){for(const l in e)We(e[l],t,n);for(const l of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,l)&&We(e[l],t,n)}return e}/** +* @vue/runtime-core v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ht(e,t,n,l){try{return l?e(...l):e()}catch(s){pn(s,t,n)}}function Re(e,t,n,l){if(R(e)){const s=Ht(e,t,n,l);return s&&ts(s)&&s.catch(i=>{pn(i,t,n)}),s}if(D(e)){const s=[];for(let i=0;i>>1,s=de[l],i=Ut(s);i=Ut(n)?de.push(e):de.splice(Xi(t),0,e),e.flags|=1,ys()}}function ys(){nn||(nn=bs.then(xs))}function Qi(e){D(e)?dt.push(...e):Ke&&e.id===-1?Ke.splice(ut+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),ys()}function Tl(e,t,n=Ce+1){for(;nUt(n)-Ut(l));if(dt.length=0,Ke){Ke.push(...t);return}for(Ke=t,ut=0;ute.id==null?e.flags&2?-1:1/0:e.id;function xs(e){try{for(Ce=0;CeDe.emit(s,...i)),St=[]):typeof window<"u"&&window.HTMLElement&&!((l=(n=window.navigator)==null?void 0:n.userAgent)!=null&&l.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{ws(i,t)}),setTimeout(()=>{De||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Vn=!0,St=[])},3e3)):(Vn=!0,St=[])}function Zi(e,t){hn("app:init",e,t,{Fragment:Ge,Text:jt,Comment:it,Static:Qt})}function er(e){hn("app:unmount",e)}const tr=rl("component:added"),Ts=rl("component:updated"),nr=rl("component:removed"),lr=e=>{De&&typeof De.cleanupBuffer=="function"&&!De.cleanupBuffer(e)&&nr(e)};function rl(e){return t=>{hn(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}function sr(e,t,n){hn("component:emit",e.appContext.app,e,t,n)}let Ve=null,Es=null;function ln(e){const t=Ve;return Ve=e,Es=e&&e.type.__scopeId||null,t}function ir(e,t=Ve,n){if(!t||e._n)return e;const l=(...s)=>{l._d&&on(-1);const i=ln(t);let r;try{r=e(...s)}finally{ln(i),l._d&&on(1)}return __VUE_PROD_DEVTOOLS__&&Ts(t),r};return l._n=!0,l._c=!0,l._d=!0,l}function Ze(e,t,n,l){const s=e.dirs,i=t&&t.dirs;for(let r=0;r1)return n&&R(t)?t.call(l&&l.proxy):t}}const rr=Symbol.for("v-scx"),or=()=>Gt(rr);function It(e,t,n){return As(e,t,n)}function As(e,t,n=z){const{immediate:l,deep:s,flush:i,once:r}=n,o=re({},n),a=t&&l||!t&&i!=="post";let f;if(Bt){if(i==="sync"){const T=or();f=T.__watcherHandles||(T.__watcherHandles=[])}else if(!a){const T=()=>{};return T.stop=_e,T.resume=_e,T.pause=_e,T}}const u=pe;o.call=(T,x,A)=>Re(T,u,x,A);let p=!1;i==="post"?o.scheduler=T=>{fe(T,u&&u.suspense)}:i!=="sync"&&(p=!0,o.scheduler=(T,x)=>{x?T():il(T)}),o.augmentJob=T=>{t&&(T.flags|=4),p&&(T.flags|=2,u&&(T.id=u.uid,T.i=u))};const m=Ji(e,t,o);return Bt&&(f?f.push(m):a&&m()),m}function ar(e,t,n){const l=this.proxy,s=ee(e)?e.includes(".")?Cs(l,e):()=>l[e]:e.bind(l,l);let i;R(t)?i=t:(i=t.handler,n=t);const r=Kt(this),o=As(s,i.bind(l),n);return r(),o}function Cs(e,t){const n=t.split(".");return()=>{let l=e;for(let s=0;se.__isTeleport,nt=e=>e&&(e.disabled||e.disabled===""),ur=e=>e&&(e.defer||e.defer===""),El=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ol=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Rn=(e,t)=>{const n=e&&e.to;return ee(n)?t?t(n):null:n},fr={name:"Teleport",__isTeleport:!0,process(e,t,n,l,s,i,r,o,a,f){const{mc:u,pc:p,pbc:m,o:{insert:T,querySelector:x,createText:A,createComment:V,parentNode:N}}=f,G=nt(t.props);let{dynamicChildren:H}=t;const I=(F,Q,te)=>{F.shapeFlag&16&&u(F.children,Q,te,s,i,r,o,a)},X=(F=t)=>{const Q=nt(F.props),te=F.target=Rn(F.props,x),ge=Ln(te,F,A,T);te&&(r!=="svg"&&El(te)?r="svg":r!=="mathml"&&Ol(te)&&(r="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(te),Q||(I(F,te,ge),xt(F,!1)))},me=F=>{const Q=()=>{if(je.get(F)===Q){if(je.delete(F),nt(F.props)){const te=N(F.el)||n;I(F,te,F.anchor),xt(F,!0)}X(F)}};je.set(F,Q),fe(Q,i)};if(e==null){const F=t.el=A(""),Q=t.anchor=A("");if(T(F,n,l),T(Q,n,l),ur(t.props)||i&&i.pendingBranch){me(t);return}G&&(I(t,n,Q),xt(t,!0)),X()}else{t.el=e.el;const F=t.anchor=e.anchor,Q=je.get(e);if(Q){Q.flags|=8,je.delete(e),me(t);return}t.targetStart=e.targetStart;const te=t.target=e.target,ge=t.targetAnchor=e.targetAnchor,xe=nt(e.props),Ye=xe?n:te,ot=xe?F:ge;if(r==="svg"||El(te)?r="svg":(r==="mathml"||Ol(te))&&(r="mathml"),H?(m(e.dynamicChildren,H,Ye,s,i,r,o),ul(e,t,!0)):a||p(e,t,Ye,ot,s,i,r,o,!1),G)xe?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Xt(t,n,F,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const at=t.target=Rn(t.props,x);at&&Xt(t,at,null,f,0)}else xe&&Xt(t,te,ge,f,1);xt(t,G)}},remove(e,t,n,{um:l,o:{remove:s}},i){const{shapeFlag:r,children:o,anchor:a,targetStart:f,targetAnchor:u,target:p,props:m}=e;let T=i||!nt(m);const x=je.get(e);if(x&&(x.flags|=8,je.delete(e),T=!1),p&&(s(f),s(u)),i&&s(a),r&16)for(let A=0;AMt(A,t&&(D(t)?t[V]:t),n,l,s));return}if(Dt(l)&&!s){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&Mt(e,t,n,l.component.subTree);return}const i=l.shapeFlag&4?pl(l.component):l.el,r=s?null:i,{i:o,r:a}=e,f=t&&t.r,u=o.refs===z?o.refs={}:o.refs,p=o.setupState,m=B(p),T=p===z?es:A=>Al(u,A)?!1:k(m,A),x=(A,V)=>!(V&&Al(u,V));if(f!=null&&f!==a){if(Cl(t),ee(f))u[f]=null,T(f)&&(p[f]=null);else if(ae(f)){const A=t;x(f,A.k)&&(f.value=null),A.k&&(u[A.k]=null)}}if(R(a))Ht(a,o,12,[r,u]);else{const A=ee(a),V=ae(a);if(A||V){const N=()=>{if(e.f){const G=A?T(a)?p[a]:u[a]:x()||!e.k?a.value:u[e.k];if(s)D(G)&&jn(G,i);else if(D(G))G.includes(i)||G.push(i);else if(A)u[a]=[i],T(a)&&(p[a]=u[a]);else{const H=[i];x(a,e.k)&&(a.value=H),e.k&&(u[e.k]=H)}}else A?(u[a]=r,T(a)&&(p[a]=r)):V&&(x(a,e.k)&&(a.value=r),e.k&&(u[e.k]=r))};if(r){const G=()=>{N(),sn.delete(e)};G.id=-1,sn.set(e,G),fe(G,n)}else Cl(e),N()}}}function Cl(e){const t=sn.get(e);t&&(t.flags|=8,sn.delete(e))}lt().requestIdleCallback;lt().cancelIdleCallback;const Dt=e=>!!e.type.__asyncLoader,Is=e=>e.type.__isKeepAlive;function gr(e,t){Ms(e,"a",t)}function mr(e,t){Ms(e,"da",t)}function Ms(e,t,n=pe){const l=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(gn(t,l,n),n){let s=n.parent;for(;s&&s.parent;)Is(s.parent.vnode)&&vr(l,t,n,s),s=s.parent}}function vr(e,t,n,l){const s=gn(t,e,l,!0);Ds(()=>{jn(l[t],s)},n)}function gn(e,t,n=pe,l=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{Be();const o=Kt(n),a=Re(t,n,e,r);return o(),ke(),a});return l?s.unshift(i):s.push(i),i}}const $e=e=>(t,n=pe)=>{(!Bt||e==="sp")&&gn(e,(...l)=>t(...l),n)},_r=$e("bm"),br=$e("m"),yr=$e("bu"),Sr=$e("u"),$t=$e("bum"),Ds=$e("um"),xr=$e("sp"),wr=$e("rtg"),Tr=$e("rtc");function Er(e,t=pe){gn("ec",e,t)}const Or=Symbol.for("v-ndc"),Fn=e=>e?Xs(e)?pl(e):Fn(e.parent):null,Vt=re(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Fn(e.parent),$root:e=>Fn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?Rs(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{il(e.update)}),$nextTick:e=>e.n||(e.n=sl.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?ar.bind(e):_e}),En=(e,t)=>e!==z&&!e.__isScriptSetup&&k(e,t),Ar={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:l,data:s,props:i,accessCache:r,type:o,appContext:a}=e;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return l[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(En(l,t))return r[t]=1,l[t];if(__VUE_OPTIONS_API__&&s!==z&&k(s,t))return r[t]=2,s[t];if(k(i,t))return r[t]=3,i[t];if(n!==z&&k(n,t))return r[t]=4,n[t];(!__VUE_OPTIONS_API__||Nn)&&(r[t]=0)}}const f=Vt[t];let u,p;if(f)return t==="$attrs"&&oe(e.attrs,"get",""),f(e);if((u=o.__cssModules)&&(u=u[t]))return u;if(n!==z&&k(n,t))return r[t]=4,n[t];if(p=a.config.globalProperties,k(p,t))return p[t]},set({_:e},t,n){const{data:l,setupState:s,ctx:i}=e;return En(s,t)?(s[t]=n,!0):__VUE_OPTIONS_API__&&l!==z&&k(l,t)?(l[t]=n,!0):k(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:l,appContext:s,props:i,type:r}},o){let a;return!!(n[o]||__VUE_OPTIONS_API__&&e!==z&&o[0]!=="$"&&k(e,o)||En(t,o)||k(i,o)||k(l,o)||k(Vt,o)||k(s.config.globalProperties,o)||(a=r.__cssModules)&&a[o])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:k(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Pl(e){return D(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Nn=!0;function Cr(e){const t=Rs(e),n=e.proxy,l=e.ctx;Nn=!1,t.beforeCreate&&Gl(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:r,watch:o,provide:a,inject:f,created:u,beforeMount:p,mounted:m,beforeUpdate:T,updated:x,activated:A,deactivated:V,beforeDestroy:N,beforeUnmount:G,destroyed:H,unmounted:I,render:X,renderTracked:me,renderTriggered:F,errorCaptured:Q,serverPrefetch:te,expose:ge,inheritAttrs:xe,components:Ye,directives:ot,filters:at}=t;if(f&&Pr(f,l,null),r)for(const Y in r){const K=r[Y];R(K)&&(l[Y]=K.bind(n))}if(s){const Y=s.call(n,n);J(Y)&&(e.data=tl(Y))}if(Nn=!0,i)for(const Y in i){const K=i[Y],Xe=R(K)?K.bind(n,n):R(K.get)?K.get.bind(n,n):_e,Wt=!R(K)&&R(K.set)?K.set.bind(n):_e,Qe=Rt({get:Xe,set:Wt});Object.defineProperty(l,Y,{enumerable:!0,configurable:!0,get:()=>Qe.value,set:we=>Qe.value=we})}if(o)for(const Y in o)Vs(o[Y],l,n,Y);if(a){const Y=R(a)?a.call(n):a;Reflect.ownKeys(Y).forEach(K=>{Os(K,Y[K])})}u&&Gl(u,e,"c");function ce(Y,K){D(K)?K.forEach(Xe=>Y(Xe.bind(n))):K&&Y(K.bind(n))}if(ce(_r,p),ce(br,m),ce(yr,T),ce(Sr,x),ce(gr,A),ce(mr,V),ce(Er,Q),ce(Tr,me),ce(wr,F),ce($t,G),ce(Ds,I),ce(xr,te),D(ge))if(ge.length){const Y=e.exposed||(e.exposed={});ge.forEach(K=>{Object.defineProperty(Y,K,{get:()=>n[K],set:Xe=>n[K]=Xe,enumerable:!0})})}else e.exposed||(e.exposed={});X&&e.render===_e&&(e.render=X),xe!=null&&(e.inheritAttrs=xe),Ye&&(e.components=Ye),ot&&(e.directives=ot),te&&Gs(e)}function Pr(e,t,n=_e){D(e)&&(e=Un(e));for(const l in e){const s=e[l];let i;J(s)?"default"in s?i=Gt(s.from||l,s.default,!0):i=Gt(s.from||l):i=Gt(s),ae(i)?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[l]=i}}function Gl(e,t,n){Re(D(e)?e.map(l=>l.bind(t.proxy)):e.bind(t.proxy),t,n)}function Vs(e,t,n,l){let s=l.includes(".")?Cs(n,l):()=>n[l];if(ee(e)){const i=t[e];R(i)&&It(s,i)}else if(R(e))It(s,e.bind(n));else if(J(e))if(D(e))e.forEach(i=>Vs(i,t,n,l));else{const i=R(e.handler)?e.handler.bind(n):t[e.handler];R(i)&&It(s,i,e)}}function Rs(e){const t=e.type,{mixins:n,extends:l}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,o=i.get(t);let a;return o?a=o:!s.length&&!n&&!l?a=t:(a={},s.length&&s.forEach(f=>rn(a,f,r,!0)),rn(a,t,r)),J(t)&&i.set(t,a),a}function rn(e,t,n,l=!1){const{mixins:s,extends:i}=t;i&&rn(e,i,n,!0),s&&s.forEach(r=>rn(e,r,n,!0));for(const r in t)if(!(l&&r==="expose")){const o=Gr[r]||n&&n[r];e[r]=o?o(e[r],t[r]):t[r]}return e}const Gr={data:Il,props:Ml,emits:Ml,methods:wt,computed:wt,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:wt,directives:wt,watch:Mr,provide:Il,inject:Ir};function Il(e,t){return t?e?function(){return re(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function Ir(e,t){return wt(Un(e),Un(t))}function Un(e){if(D(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${be(t)}Modifiers`]||e[`${rt(t)}Modifiers`];function Lr(e,t,...n){if(e.isUnmounted)return;const l=e.vnode.props||z;let s=n;const i=t.startsWith("update:"),r=i&&Rr(l,t.slice(7));r&&(r.trim&&(s=n.map(u=>ee(u)?u.trim():u)),r.number&&(s=n.map(di))),__VUE_PROD_DEVTOOLS__&&sr(e,t,s);let o,a=l[o=yn(t)]||l[o=yn(be(t))];!a&&i&&(a=l[o=yn(rt(t))]),a&&Re(a,e,6,s);const f=l[o+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Re(f,e,6,s)}}const Fr=new WeakMap;function Fs(e,t,n=!1){const l=__VUE_OPTIONS_API__&&n?Fr:t.emitsCache,s=l.get(e);if(s!==void 0)return s;const i=e.emits;let r={},o=!1;if(__VUE_OPTIONS_API__&&!R(e)){const a=f=>{const u=Fs(f,t,!0);u&&(o=!0,re(r,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!o?(J(e)&&l.set(e,null),null):(D(i)?i.forEach(a=>r[a]=null):re(r,i),J(e)&&l.set(e,r),r)}function mn(e,t){return!e||!un(t)?!1:(t=t.slice(2).replace(/Once$/,""),k(e,t[0].toLowerCase()+t.slice(1))||k(e,rt(t))||k(e,t))}function Dl(e){const{type:t,vnode:n,proxy:l,withProxy:s,propsOptions:[i],slots:r,attrs:o,emit:a,render:f,renderCache:u,props:p,data:m,setupState:T,ctx:x,inheritAttrs:A}=e,V=ln(e);let N,G;try{if(n.shapeFlag&4){const I=s||l,X=I;N=Ie(f.call(X,I,u,p,T,m,x)),G=o}else{const I=t;N=Ie(I.length>1?I(p,{attrs:o,slots:r,emit:a}):I(p,null)),G=t.props?o:Nr(o)}}catch(I){pn(I,e,1),N=ve(it)}let H=N;if(G&&A!==!1){const I=Object.keys(G),{shapeFlag:X}=H;I.length&&X&7&&(i&&I.some(fn)&&(G=Ur(G,i)),H=ht(H,G,!1,!0))}return n.dirs&&(H=ht(H,null,!1,!0),H.dirs=H.dirs?H.dirs.concat(n.dirs):n.dirs),n.transition&&ol(H,n.transition),N=H,ln(V),N}const Nr=e=>{let t;for(const n in e)(n==="class"||n==="style"||un(n))&&((t||(t={}))[n]=e[n]);return t},Ur=(e,t)=>{const n={};for(const l in e)(!fn(l)||!(l.slice(9)in t))&&(n[l]=e[l]);return n};function Br(e,t,n){const{props:l,children:s,component:i}=e,{props:r,children:o,patchFlag:a}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return l?Vl(l,r,f):!!r;if(a&8){const u=t.dynamicProps;for(let p=0;pObject.create(Us),ks=e=>Object.getPrototypeOf(e)===Us;function Hr(e,t,n,l=!1){const s={},i=Bs();e.propsDefaults=Object.create(null),Hs(e,t,s,i);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);n?e.props=l?s:Bi(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function $r(e,t,n,l){const{props:s,attrs:i,vnode:{patchFlag:r}}=e,o=B(s),[a]=e.propsOptions;let f=!1;if((l||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let p=0;p{a=!0;const[m,T]=$s(p,t,!0);re(r,m),T&&o.push(...T)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!a)return J(e)&&l.set(e,Et),Et;if(D(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",cl=e=>D(e)?e.map(Ie):[Ie(e)],Kr=(e,t,n)=>{if(t._n)return t;const l=ir((...s)=>cl(t(...s)),n);return l._c=!1,l},js=(e,t,n)=>{const l=e._ctx;for(const s in e){if(al(s))continue;const i=e[s];if(R(i))t[s]=Kr(s,i,l);else if(i!=null){const r=cl(i);t[s]=()=>r}}},Ks=(e,t)=>{const n=cl(t);e.slots.default=()=>n},Ws=(e,t,n)=>{for(const l in t)(n||!al(l))&&(e[l]=t[l])},Wr=(e,t,n)=>{const l=e.slots=Bs();if(e.vnode.shapeFlag&32){const s=t._;s?(Ws(l,t,n),n&&en(l,"_",s,!0)):js(t,l)}else t&&Ks(e,t)},qr=(e,t,n)=>{const{vnode:l,slots:s}=e;let i=!0,r=z;if(l.shapeFlag&32){const o=t._;o?n&&o===1?i=!1:Ws(s,t,n):(i=!t.$stable,js(t,s)),r=t}else t&&(Ks(e,t),r={default:1});if(i)for(const o in s)!al(o)&&r[o]==null&&delete s[o]};function zr(){typeof __VUE_OPTIONS_API__!="boolean"&&(lt().__VUE_OPTIONS_API__=!0),typeof __VUE_PROD_DEVTOOLS__!="boolean"&&(lt().__VUE_PROD_DEVTOOLS__=!1),typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__!="boolean"&&(lt().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1)}const fe=Zr;function Jr(e){return Yr(e)}function Yr(e,t){zr();const n=lt();n.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&ws(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:l,remove:s,patchProp:i,createElement:r,createText:o,createComment:a,setText:f,setElementText:u,parentNode:p,nextSibling:m,setScopeId:T=_e,insertStaticContent:x}=e,A=(c,d,g,y=null,v=null,_=null,E=void 0,w=null,S=!!d.dynamicChildren)=>{if(c===d)return;c&&!yt(c,d)&&(y=qt(c),we(c,v,_,!0),c=null),d.patchFlag===-2&&(S=!1,d.dynamicChildren=null);const{type:b,ref:P,shapeFlag:O}=d;switch(b){case jt:V(c,d,g,y);break;case it:N(c,d,g,y);break;case Qt:c==null&&G(d,g,y,E);break;case Ge:Ye(c,d,g,y,v,_,E,w,S);break;default:O&1?X(c,d,g,y,v,_,E,w,S):O&6?ot(c,d,g,y,v,_,E,w,S):(O&64||O&128)&&b.process(c,d,g,y,v,_,E,w,S,vt)}P!=null&&v?Mt(P,c&&c.ref,_,d||c,!d):P==null&&c&&c.ref!=null&&Mt(c.ref,null,_,c,!0)},V=(c,d,g,y)=>{if(c==null)l(d.el=o(d.children),g,y);else{const v=d.el=c.el;d.children!==c.children&&f(v,d.children)}},N=(c,d,g,y)=>{c==null?l(d.el=a(d.children||""),g,y):d.el=c.el},G=(c,d,g,y)=>{[c.el,c.anchor]=x(c.children,d,g,y,c.el,c.anchor)},H=({el:c,anchor:d},g,y)=>{let v;for(;c&&c!==d;)v=m(c),l(c,g,y),c=v;l(d,g,y)},I=({el:c,anchor:d})=>{let g;for(;c&&c!==d;)g=m(c),s(c),c=g;s(d)},X=(c,d,g,y,v,_,E,w,S)=>{if(d.type==="svg"?E="svg":d.type==="math"&&(E="mathml"),c==null)me(d,g,y,v,_,E,w,S);else{const b=c.el&&c.el._isVueCE?c.el:null;try{b&&b._beginPatch(),te(c,d,v,_,E,w,S)}finally{b&&b._endPatch()}}},me=(c,d,g,y,v,_,E,w)=>{let S,b;const{props:P,shapeFlag:O,transition:C,dirs:M}=c;if(S=c.el=r(c.type,_,P&&P.is,P),O&8?u(S,c.children):O&16&&Q(c.children,S,null,y,v,On(c,_),E,w),M&&Ze(c,null,y,"created"),F(S,c,c.scopeId,E,y),P){for(const $ in P)$!=="value"&&!At($)&&i(S,$,null,P[$],_,y);"value"in P&&i(S,"value",null,P.value,_),(b=P.onVnodeBeforeMount)&&Ae(b,y,c)}__VUE_PROD_DEVTOOLS__&&(en(S,"__vnode",c,!0),en(S,"__vueParentComponent",y,!0)),M&&Ze(c,null,y,"beforeMount");const U=Xr(v,C);U&&C.beforeEnter(S),l(S,d,g),((b=P&&P.onVnodeMounted)||U||M)&&fe(()=>{try{b&&Ae(b,y,c),U&&C.enter(S),M&&Ze(c,null,y,"mounted")}finally{}},v)},F=(c,d,g,y,v)=>{if(g&&T(c,g),y)for(let _=0;_{for(let b=S;b{const w=d.el=c.el;__VUE_PROD_DEVTOOLS__&&(w.__vnode=d);let{patchFlag:S,dynamicChildren:b,dirs:P}=d;S|=c.patchFlag&16;const O=c.props||z,C=d.props||z;let M;if(g&&et(g,!1),(M=C.onVnodeBeforeUpdate)&&Ae(M,g,d,c),P&&Ze(d,c,g,"beforeUpdate"),g&&et(g,!0),(O.innerHTML&&C.innerHTML==null||O.textContent&&C.textContent==null)&&u(w,""),b?ge(c.dynamicChildren,b,w,g,y,On(d,v),_):E||K(c,d,w,null,g,y,On(d,v),_,!1),S>0){if(S&16)xe(w,O,C,g,v);else if(S&2&&O.class!==C.class&&i(w,"class",null,C.class,v),S&4&&i(w,"style",O.style,C.style,v),S&8){const U=d.dynamicProps;for(let $=0;${M&&Ae(M,g,d,c),P&&Ze(d,c,g,"updated")},y)},ge=(c,d,g,y,v,_,E)=>{for(let w=0;w{if(d!==g){if(d!==z)for(const _ in d)!At(_)&&!(_ in g)&&i(c,_,d[_],null,v,y);for(const _ in g){if(At(_))continue;const E=g[_],w=d[_];E!==w&&_!=="value"&&i(c,_,w,E,v,y)}"value"in g&&i(c,"value",d.value,g.value,v)}},Ye=(c,d,g,y,v,_,E,w,S)=>{const b=d.el=c?c.el:o(""),P=d.anchor=c?c.anchor:o("");let{patchFlag:O,dynamicChildren:C,slotScopeIds:M}=d;M&&(w=w?w.concat(M):M),c==null?(l(b,g,y),l(P,g,y),Q(d.children||[],g,P,v,_,E,w,S)):O>0&&O&64&&C&&c.dynamicChildren&&c.dynamicChildren.length===C.length?(ge(c.dynamicChildren,C,g,v,_,E,w),(d.key!=null||v&&d===v.subTree)&&ul(c,d,!0)):K(c,d,g,P,v,_,E,w,S)},ot=(c,d,g,y,v,_,E,w,S)=>{d.slotScopeIds=w,c==null?d.shapeFlag&512?v.ctx.activate(d,g,y,E,S):at(d,g,y,v,_,E,S):hl(c,d,S)},at=(c,d,g,y,v,_,E)=>{const w=c.component=oo(c,y,v);if(Is(c)&&(w.ctx.renderer=vt),co(w,!1,E),w.asyncDep){if(v&&v.registerDep(w,ce,E),!c.el){const S=w.subTree=ve(it);N(null,S,d,g),c.placeholder=S.el}}else ce(w,c,d,g,v,_,E)},hl=(c,d,g)=>{const y=d.component=c.component;if(Br(c,d,g))if(y.asyncDep&&!y.asyncResolved){Y(y,d,g);return}else y.next=d,y.update();else d.el=c.el,y.vnode=d},ce=(c,d,g,y,v,_,E)=>{const w=()=>{if(c.isMounted){let{next:O,bu:C,u:M,parent:U,vnode:$}=c;{const Ee=qs(c);if(Ee){O&&(O.el=$.el,Y(c,O,E)),Ee.asyncDep.then(()=>{fe(()=>{c.isUnmounted||b()},v)});return}}let W=O,ne;et(c,!1),O?(O.el=$.el,Y(c,O,E)):O=$,C&&Sn(C),(ne=O.props&&O.props.onVnodeBeforeUpdate)&&Ae(ne,U,O,$),et(c,!0);const se=Dl(c),Te=c.subTree;c.subTree=se,A(Te,se,p(Te.el),qt(Te),c,v,_),O.el=se.el,W===null&&kr(c,se.el),M&&fe(M,v),(ne=O.props&&O.props.onVnodeUpdated)&&fe(()=>Ae(ne,U,O,$),v),__VUE_PROD_DEVTOOLS__&&Ts(c)}else{let O;const{el:C,props:M}=d,{bm:U,m:$,parent:W,root:ne,type:se}=c,Te=Dt(d);et(c,!1),U&&Sn(U),!Te&&(O=M&&M.onVnodeBeforeMount)&&Ae(O,W,d),et(c,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(se,c.parent?c.parent.type:void 0);const Ee=c.subTree=Dl(c);A(null,Ee,g,y,c,v,_),d.el=Ee.el}if($&&fe($,v),!Te&&(O=M&&M.onVnodeMounted)){const Ee=d;fe(()=>Ae(O,W,Ee),v)}(d.shapeFlag&256||W&&Dt(W.vnode)&&W.vnode.shapeFlag&256)&&c.a&&fe(c.a,v),c.isMounted=!0,__VUE_PROD_DEVTOOLS__&&tr(c),d=g=y=null}};c.scope.on();const S=c.effect=new ss(w);c.scope.off();const b=c.update=S.run.bind(S),P=c.job=S.runIfDirty.bind(S);P.i=c,P.id=c.uid,S.scheduler=()=>il(P),et(c,!0),b()},Y=(c,d,g)=>{d.component=c;const y=c.vnode.props;c.vnode=d,c.next=null,$r(c,d.props,y,g),qr(c,d.children,g),Be(),Tl(c),ke()},K=(c,d,g,y,v,_,E,w,S=!1)=>{const b=c&&c.children,P=c?c.shapeFlag:0,O=d.children,{patchFlag:C,shapeFlag:M}=d;if(C>0){if(C&128){Wt(b,O,g,y,v,_,E,w,S);return}else if(C&256){Xe(b,O,g,y,v,_,E,w,S);return}}M&8?(P&16&&mt(b,v,_),O!==b&&u(g,O)):P&16?M&16?Wt(b,O,g,y,v,_,E,w,S):mt(b,v,_,!0):(P&8&&u(g,""),M&16&&Q(O,g,y,v,_,E,w,S))},Xe=(c,d,g,y,v,_,E,w,S)=>{c=c||Et,d=d||Et;const b=c.length,P=d.length,O=Math.min(b,P);let C;for(C=0;CP?mt(c,v,_,!0,!1,O):Q(d,g,y,v,_,E,w,S,O)},Wt=(c,d,g,y,v,_,E,w,S)=>{let b=0;const P=d.length;let O=c.length-1,C=P-1;for(;b<=O&&b<=C;){const M=c[b],U=d[b]=S?Ne(d[b]):Ie(d[b]);if(yt(M,U))A(M,U,g,null,v,_,E,w,S);else break;b++}for(;b<=O&&b<=C;){const M=c[O],U=d[C]=S?Ne(d[C]):Ie(d[C]);if(yt(M,U))A(M,U,g,null,v,_,E,w,S);else break;O--,C--}if(b>O){if(b<=C){const M=C+1,U=MC)for(;b<=O;)we(c[b],v,_,!0),b++;else{const M=b,U=b,$=new Map;for(b=U;b<=C;b++){const he=d[b]=S?Ne(d[b]):Ie(d[b]);he.key!=null&&$.set(he.key,b)}let W,ne=0;const se=C-U+1;let Te=!1,Ee=0;const _t=new Array(se);for(b=0;b=se){we(he,v,_,!0);continue}let Oe;if(he.key!=null)Oe=$.get(he.key);else for(W=U;W<=C;W++)if(_t[W-U]===0&&yt(he,d[W])){Oe=W;break}Oe===void 0?we(he,v,_,!0):(_t[Oe-U]=b+1,Oe>=Ee?Ee=Oe:Te=!0,A(he,d[Oe],g,null,v,_,E,w,S),ne++)}const vl=Te?Qr(_t):Et;for(W=vl.length-1,b=se-1;b>=0;b--){const he=U+b,Oe=d[he],_l=d[he+1],bl=he+1{const{el:_,type:E,transition:w,children:S,shapeFlag:b}=c;if(b&6){Qe(c.component.subTree,d,g,y);return}if(b&128){c.suspense.move(d,g,y);return}if(b&64){E.move(c,d,g,vt);return}if(E===Ge){l(_,d,g);for(let O=0;Ow.enter(_),v);else{const{leave:O,delayLeave:C,afterLeave:M}=w,U=()=>{c.ctx.isUnmounted?s(_):l(_,d,g)},$=()=>{_._isLeaving&&_[hr](!0),O(_,()=>{U(),M&&M()})};C?C(_,U,$):$()}else l(_,d,g)},we=(c,d,g,y=!1,v=!1)=>{const{type:_,props:E,ref:w,children:S,dynamicChildren:b,shapeFlag:P,patchFlag:O,dirs:C,cacheIndex:M,memo:U}=c;if(O===-2&&(v=!1),w!=null&&(Be(),Mt(w,null,g,c,!0),ke()),M!=null&&(d.renderCache[M]=void 0),P&256){d.ctx.deactivate(c);return}const $=P&1&&C,W=!Dt(c);let ne;if(W&&(ne=E&&E.onVnodeBeforeUnmount)&&Ae(ne,d,c),P&6)si(c.component,g,y);else{if(P&128){c.suspense.unmount(g,y);return}$&&Ze(c,null,d,"beforeUnmount"),P&64?c.type.remove(c,d,g,vt,y):b&&!b.hasOnce&&(_!==Ge||O>0&&O&64)?mt(b,d,g,!1,!0):(_===Ge&&O&384||!v&&P&16)&&mt(S,d,g),y&&gl(c)}const se=U!=null&&M==null;(W&&(ne=E&&E.onVnodeUnmounted)||$||se)&&fe(()=>{ne&&Ae(ne,d,c),$&&Ze(c,null,d,"unmounted"),se&&(c.el=null)},g)},gl=c=>{const{type:d,el:g,anchor:y,transition:v}=c;if(d===Ge){li(g,y);return}if(d===Qt){I(c);return}const _=()=>{s(g),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(c.shapeFlag&1&&v&&!v.persisted){const{leave:E,delayLeave:w}=v,S=()=>E(g,_);w?w(c.el,_,S):S()}else _()},li=(c,d)=>{let g;for(;c!==d;)g=m(c),s(c),c=g;s(d)},si=(c,d,g)=>{const{bum:y,scope:v,job:_,subTree:E,um:w,m:S,a:b}=c;Ll(S),Ll(b),y&&Sn(y),v.stop(),_&&(_.flags|=8,we(E,c,d,g)),w&&fe(w,d),fe(()=>{c.isUnmounted=!0},d),__VUE_PROD_DEVTOOLS__&&lr(c)},mt=(c,d,g,y=!1,v=!1,_=0)=>{for(let E=_;E{if(c.shapeFlag&6)return qt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const d=m(c.anchor||c.el),g=d&&d[Ps];return g?m(g):d};let bn=!1;const ml=(c,d,g)=>{let y;c==null?d._vnode&&(we(d._vnode,null,null,!0),y=d._vnode.component):A(d._vnode||null,c,d,null,null,null,g),d._vnode=c,bn||(bn=!0,Tl(y),Ss(),bn=!1)},vt={p:A,um:we,m:Qe,r:gl,mt:at,mc:Q,pc:K,pbc:ge,n:qt,o:e};return{render:ml,hydrate:void 0,createApp:Vr(ml)}}function On({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ul(e,t,n=!1){const l=e.children,s=t.children;if(D(l)&&D(s))for(let i=0;i>1,e[n[o]]0&&(t[l]=n[i-1]),n[i]=l)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function qs(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qs(t)}function Ll(e){if(e)for(let t=0;te.__isSuspense;function Zr(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Qi(e)}const Ge=Symbol.for("v-fgt"),jt=Symbol.for("v-txt"),it=Symbol.for("v-cmt"),Qt=Symbol.for("v-stc");let qe=null,fl=1;function on(e,t=!1){fl+=e,e<0&&qe&&t&&(qe.hasOnce=!0)}function an(e){return e?e.__v_isVNode===!0:!1}function yt(e,t){return e.type===t.type&&e.key===t.key}const Ys=({key:e})=>e??null,Zt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ee(e)||ae(e)||R(e)?{i:Ve,r:e,k:t,f:!!n}:e:null);function eo(e,t=null,n=null,l=0,s=null,i=e===Ge?0:1,r=!1,o=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ys(t),ref:t&&Zt(t),scopeId:Es,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:l,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ve};return o?(dl(a,n),i&128&&e.normalize(a)):n&&(a.shapeFlag|=ee(n)?8:16),fl>0&&!r&&qe&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&qe.push(a),a}const ve=to;function to(e,t=null,n=null,l=0,s=null,i=!1){if((!e||e===Or)&&(e=it),an(e)){const o=ht(e,t,!0);return n&&dl(o,n),fl>0&&!i&&qe&&(o.shapeFlag&6?qe[qe.indexOf(e)]=o:qe.push(o)),o.patchFlag=-2,o}if(ho(e)&&(e=e.__vccOpts),t){t=no(t);let{class:o,style:a}=t;o&&!ee(o)&&(t.class=qn(o)),J(a)&&(ll(a)&&!D(a)&&(a=re({},a)),t.style=Wn(a))}const r=ee(e)?1:Js(e)?128:cr(e)?64:J(e)?4:R(e)?2:0;return eo(e,t,n,l,s,r,i,!0)}function no(e){return e?ll(e)||ks(e)?re({},e):e:null}function ht(e,t,n=!1,l=!1){const{props:s,ref:i,patchFlag:r,children:o,transition:a}=e,f=t?so(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Ys(f),ref:t&&t.ref?n&&i?D(i)?i.concat(Zt(t)):[i,Zt(t)]:Zt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ge?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ht(e.ssContent),ssFallback:e.ssFallback&&ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&l&&ol(u,a.clone(u)),u}function lo(e=" ",t=0){return ve(jt,null,e,t)}function Ie(e){return e==null||typeof e=="boolean"?ve(it):D(e)?ve(Ge,null,e.slice()):an(e)?Ne(e):ve(jt,null,String(e))}function Ne(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ht(e)}function dl(e,t){let n=0;const{shapeFlag:l}=e;if(t==null)t=null;else if(D(t))n=16;else if(typeof t=="object")if(l&65){const s=t.default;s&&(s._c&&(s._d=!1),dl(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!ks(t)?t._ctx=Ve:s===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else R(t)?(t={default:t,_ctx:Ve},n=32):(t=String(t),l&64?(n=16,t=[lo(t)]):n=8);e.children=t,e.shapeFlag|=n}function so(...e){const t={};for(let n=0;npe||Ve;let cn,kn;{const e=lt(),t=(n,l)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(l),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i)}};cn=t("__VUE_INSTANCE_SETTERS__",n=>pe=n),kn=t("__VUE_SSR_SETTERS__",n=>Bt=n)}const Kt=e=>{const t=pe;return cn(e),e.scope.on(),()=>{e.scope.off(),cn(t)}},Fl=()=>{pe&&pe.scope.off(),cn(null)};function Xs(e){return e.vnode.shapeFlag&4}let Bt=!1;function co(e,t=!1,n=!1){t&&kn(t);const{props:l,children:s}=e.vnode,i=Xs(e);Hr(e,l,i,t),Wr(e,s,n||t);const r=i?uo(e,t):void 0;return t&&kn(!1),r}function uo(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ar);const{setup:l}=n;if(l){Be();const s=e.setupContext=l.length>1?po(e):null,i=Kt(e),r=Ht(l,e,0,[e.props,s]),o=ts(r);if(ke(),i(),(o||e.sp)&&!Dt(e)&&Gs(e),o){if(r.then(Fl,Fl),t)return r.then(a=>{Nl(e,a)}).catch(a=>{pn(a,e,0)});e.asyncDep=r}else Nl(e,r)}else Qs(e)}function Nl(e,t,n){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:J(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=_s(t)),Qs(e)}function Qs(e,t,n){const l=e.type;if(e.render||(e.render=l.render||_e),__VUE_OPTIONS_API__){const s=Kt(e);Be();try{Cr(e)}finally{ke(),s()}}}const fo={get(e,t){return oe(e,"get",""),e[t]}};function po(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,fo),slots:e.slots,emit:e.emit,expose:t}}function pl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(_s(ki(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Vt)return Vt[n](e)},has(t,n){return n in t||n in Vt}})):e.proxy}function ho(e){return R(e)&&"__vccOpts"in e}const Rt=(e,t)=>qi(e,t,Bt);function h(e,t,n){try{on(-1);const l=arguments.length;return l===2?J(t)&&!D(t)?an(t)?ve(e,null,[t]):ve(e,t):ve(e,null,t):(l>3?n=Array.prototype.slice.call(arguments,2):l===3&&an(n)&&(n=[n]),ve(e,t,n))}finally{on(1)}}const Ul="3.5.34";/** +* @vue/runtime-dom v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Hn;const Bl=typeof window<"u"&&window.trustedTypes;if(Bl)try{Hn=Bl.createPolicy("vue",{createHTML:e=>e})}catch{}const Zs=Hn?e=>Hn.createHTML(e):e=>e,go="http://www.w3.org/2000/svg",mo="http://www.w3.org/1998/Math/MathML",Fe=typeof document<"u"?document:null,kl=Fe&&Fe.createElement("template"),vo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,l)=>{const s=t==="svg"?Fe.createElementNS(go,e):t==="mathml"?Fe.createElementNS(mo,e):n?Fe.createElement(e,{is:n}):Fe.createElement(e);return e==="select"&&l&&l.multiple!=null&&s.setAttribute("multiple",l.multiple),s},createText:e=>Fe.createTextNode(e),createComment:e=>Fe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,l,s,i){const r=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{kl.innerHTML=Zs(l==="svg"?`${e}`:l==="mathml"?`${e}`:e);const o=kl.content;if(l==="svg"||l==="mathml"){const a=o.firstChild;for(;a.firstChild;)o.appendChild(a.firstChild);o.removeChild(a)}t.insertBefore(o,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_o=Symbol("_vtc");function bo(e,t,n){const l=e[_o];l&&(t=(t?[t,...l]:[...l]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Hl=Symbol("_vod"),yo=Symbol("_vsh"),So=Symbol(""),xo=/(?:^|;)\s*display\s*:/;function wo(e,t,n){const l=e.style,s=ee(n);let i=!1;if(n&&!s){if(t)if(ee(t))for(const r of t.split(";")){const o=r.slice(0,r.indexOf(":")).trim();n[o]==null&&Tt(l,o,"")}else for(const r in t)n[r]==null&&Tt(l,r,"");for(const r in n){r==="display"&&(i=!0);const o=n[r];o!=null?Eo(e,r,!ee(t)&&t?t[r]:void 0,o)||Tt(l,r,o):Tt(l,r,"")}}else if(s){if(t!==n){const r=l[So];r&&(n+=";"+r),l.cssText=n,i=xo.test(n)}}else t&&e.removeAttribute("style");Hl in e&&(e[Hl]=i?l.display:"",e[yo]&&(l.display="none"))}const $l=/\s*!important$/;function Tt(e,t,n){if(D(n))n.forEach(l=>Tt(e,t,l));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const l=To(e,t);$l.test(n)?e.setProperty(rt(l),n.replace($l,""),"important"):e[l]=n}}const jl=["Webkit","Moz","ms"],An={};function To(e,t){const n=An[t];if(n)return n;let l=be(t);if(l!=="filter"&&l in e)return An[t]=l;l=ns(l);for(let s=0;sCn||(Go.then(()=>Cn=0),Cn=Date.now());function Mo(e,t){const n=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=n.attached)return;Re(Do(l,n.value),t,5,[l])};return n.value=e,n.attached=Io(),n}function Do(e,t){if(D(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(l=>s=>!s._stopped&&l&&l(s))}else return t}const Yl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Vo=(e,t,n,l,s,i)=>{const r=s==="svg";t==="class"?bo(e,l,r):t==="style"?wo(e,n,l):un(t)?fn(t)||Co(e,t,n,l,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ro(e,t,l,r))?(ql(e,t,l),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wl(e,t,l,r,i,t!=="value")):e._isVueCE&&(Lo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ee(l)))?ql(e,be(t),l,i,t):(t==="true-value"?e._trueValue=l:t==="false-value"&&(e._falseValue=l),Wl(e,t,l,r))};function Ro(e,t,n,l){if(l)return!!(t==="innerHTML"||t==="textContent"||t in e&&Yl(t)&&R(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Yl(t)&&ee(n)?!1:t in e}function Lo(e,t){const n=e._def.props;if(!n)return!1;const l=be(t);return Array.isArray(n)?n.some(s=>be(s)===l):Object.keys(n).some(s=>be(s)===l)}const Fo=re({patchProp:Vo},vo);let Xl;function No(){return Xl||(Xl=Jr(Fo))}const Uo=((...e)=>{const t=No().createApp(...e),{mount:n}=t;return t.mount=l=>{const s=ko(l);if(!s)return;const i=t._component;!R(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,!1,Bo(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},t});function Bo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ko(e){return ee(e)?document.querySelector(e):e}var Ho={},$o=new Set(["primary","secondary","accent","success","warning","danger","error","info"]);function L(...e){return e.flatMap(t=>t?Array.isArray(t)?t:typeof t=="object"?Object.entries(t).filter(([,n])=>n).map(([n])=>n):[t]:[]).filter(Boolean).join(" ")}function gt(e,t="primary"){return $o.has(e)?e:t}function le(e,t=""){if(!e)return null;const n=e.includes("ph ")||e.startsWith("ph-");n||typeof process<"u"&&Ho&&console.warn(`[gnexus-ui-kit] Icon "${e}" is missing the required "ph-" prefix. Use "ph-${e}" instead.`);const l=n?e:`ph-${e}`;return h("i",{class:L("ph",l,t),"aria-hidden":"true"})}function vn(e){const t=e.target;return t.type==="checkbox"?t.checked:t.value}var jo=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(",");function Ko(e,t){if(e.key!=="Tab"||!t)return;const n=[...t.querySelectorAll(jo)].filter(i=>!i.hasAttribute("disabled")&&i.offsetParent!==null);if(!n.length){e.preventDefault(),t.focus();return}const l=n[0],s=n[n.length-1];e.shiftKey&&document.activeElement===l?(e.preventDefault(),s.focus()):!e.shiftKey&&document.activeElement===s&&(e.preventDefault(),l.focus())}var Wo=j({name:"GnActionCard",props:{kicker:{type:String,default:""},title:{type:String,required:!0},text:{type:String,default:""}},setup(e,{slots:t}){return()=>{var n,l,s;return h("article",{class:"card action-card"},[h("div",{class:"card-content"},[(e.kicker||t.kicker)&&h("span",{class:"action-card-kicker"},((n=t.kicker)==null?void 0:n.call(t))||e.kicker),h("h3",{class:"action-card-title"},((l=t.title)==null?void 0:l.call(t))||e.title),(e.text||t.default)&&h("p",{class:"action-card-text"},((s=t.default)==null?void 0:s.call(t))||e.text),t.actions&&h("div",{class:"action-card-actions"},t.actions())])])}}}),qo=j({name:"GnActivityLog",props:{items:{type:Array,default:()=>[]}},setup(e,{attrs:t,slots:n}){return()=>h("div",{...t,class:L("activity-log",t.class)},e.items.map(l=>{var s;return h("div",{class:"activity-log-row"},[h("time",{class:"activity-log-time"},l.time),h("span",{class:"activity-log-title"},((s=n[l.key])==null?void 0:s.call(n,{item:l}))||l.title),n.actions&&h("span",{},n.actions({item:l}))])}))}}),zo=j({name:"GnAvatar",props:{src:{type:String,default:""},alt:{type:String,default:""},initials:{type:String,default:""},icon:{type:String,default:""},size:{type:String,default:"md"},variant:{type:String,default:"primary"},outline:{type:Boolean,default:!1},status:{type:String,default:""}},setup(e,{attrs:t}){return()=>{const n=gt(e.variant);return h("span",{...t,class:L("avatar",`avatar-${n}`,{"avatar-sm":e.size==="sm","avatar-lg":e.size==="lg","avatar-outline":e.outline,"is-online":e.status==="online","is-busy":e.status==="busy","is-offline":e.status==="offline"},t.class)},[e.src?h("img",{src:e.src,alt:e.alt}):le(e.icon)||e.initials,e.status&&h("span",{class:"avatar-status","aria-hidden":"true"})])}}}),ei=j({name:"GnBadge",props:{variant:{type:String,default:"primary"},outline:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=gt(e.variant);return h("span",{...t,class:L("badge",e.outline&&s==="primary"?"badge-primary-outline":`badge-${s}`,t.class)},(l=n.default)==null?void 0:l.call(n))}}}),_n=j({name:"GnButton",props:{variant:{type:String,default:"primary"},size:{type:String,default:"md"},icon:{type:String,default:""},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{type:String,default:"button"}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=!!(e.icon||e.loading),i=gt(e.variant);return h("button",{...t,type:e.type,disabled:e.disabled||e.loading,class:L("btn",`btn-${i}`,{"btn-small":e.size==="sm","btn-large":e.size==="lg","with-icon":s,"loading-state":e.loading},t.class)},[e.loading?le("ph-bold ph-spinner"):le(e.icon),(l=n.default)==null?void 0:l.call(n)])}}}),Jo=j({name:"GnChip",props:{variant:{type:String,default:""},icon:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removable:{type:Boolean,default:!1}},emits:["remove"],setup(e,{attrs:t,emit:n,slots:l}){return()=>{var s;const i=t.onClick?"button":"span",r=e.variant?gt(e.variant):"";return h(i,{...t,type:i==="button"?"button":void 0,disabled:i==="button"?e.disabled:void 0,"aria-pressed":i==="button"?String(e.selected):void 0,class:L("chip",r&&`chip-${r}`,{"chip-selected":e.selected,"chip-disabled":e.disabled},t.class)},[le(e.icon),(s=l.default)==null?void 0:s.call(l),e.removable&&h("button",{class:"chip-remove",type:"button","aria-label":"Remove",onClick:o=>{o.stopPropagation(),n("remove")}},[le("ph-x")])])}}}),Yo=j({name:"GnChipGroup",setup(e,{attrs:t,slots:n}){return()=>{var l;return h("div",{...t,class:L("chip-group",t.class)},(l=n.default)==null?void 0:l.call(n))}}}),Xo=0,Qo=j({name:"GnCombobox",inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},icon:{type:String,default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search"},notFoundText:{type:String,default:"Nothing found"},state:{type:String,default:""},help:{type:String,default:""}},emits:["update:modelValue","select"],setup(e,{attrs:t,emit:n}){const l=`gn-combobox-${++Xo}`,s=`${l}-listbox`,i=Z(!1),r=Z(-1),o=Z(null),a=Rt(()=>e.options.map(x=>typeof x=="object"?x:{value:x,label:x})),f=Rt(()=>{var x;return String((x=e.modelValue)!=null?x:"").toLowerCase()}),u=Rt(()=>a.value.filter(x=>String(x.label).toLowerCase().includes(f.value))),p=x=>{x&&(n("update:modelValue",x.label),n("select",x),i.value=!1,r.value=-1)},m=x=>{u.value.length&&(i.value=!0,r.value=(r.value+x+u.value.length)%u.value.length,sl(()=>{var A,V,N;const G=(V=(A=o.value)==null?void 0:A.closest(".form-group"))==null?void 0:V.querySelector(".advanced-select");(N=G==null?void 0:G.querySelector(".option.focus"))==null||N.scrollIntoView({block:"nearest"})}))},T=x=>{x.key==="ArrowDown"?(x.preventDefault(),m(1)):x.key==="ArrowUp"?(x.preventDefault(),m(-1)):x.key==="Enter"?(x.preventDefault(),p(u.value[r.value])):x.key==="Escape"&&(i.value=!1,r.value=-1)};return()=>h("div",{class:"form-group"},[h("label",{class:L("label",e.state)},[e.label,le(e.icon),h("input",{...t,ref:o,id:l,type:"text",value:e.modelValue,placeholder:e.placeholder,autocomplete:"off",role:"combobox","aria-autocomplete":"list","aria-expanded":i.value?"true":"false","aria-controls":s,"aria-activedescendant":r.value>=0?`${l}-option-${r.value}`:void 0,class:L("input",t.class),onFocus:()=>{i.value=!0},onBlur:()=>{setTimeout(()=>{i.value=!1},120)},onInput:x=>{r.value=-1,i.value=!0,n("update:modelValue",vn(x))},onKeydown:T})]),h("div",{class:"advanced-select-container"},[h("div",{class:L("advanced-select",{"a-show":i.value})},[h("div",{class:"popup-options-container"},[h("div",{class:L("not-found",{show:!u.value.length})},e.notFoundText),h("div",{id:s,class:L("options",{show:u.value.length}),role:"listbox"},u.value.map((x,A)=>h("div",{id:`${l}-option-${A}`,class:L("option",{focus:A===r.value}),role:"option","aria-selected":A===r.value?"true":"false","data-value":x.value,"data-display-value":x.label,onMousedown:V=>{V.preventDefault(),p(x)}},x.label)))])])]),e.help&&h("div",{class:L("input-info",e.state==="error"&&"error")},e.help)])}}),Zo=0,ea=j({name:"GnModal",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:open","close"],setup(e,{emit:t,slots:n}){const l=`gn-modal-title-${++Zo}`,s=Z(null),i=Z(!1),r=Z(!1);let o=null,a=null;const f=()=>{t("update:open",!1),t("close")},u=m=>{m.key==="Escape"?(m.preventDefault(),f()):Ko(m,s.value)},p=()=>{sl(()=>{var m;(m=s.value)==null||m.focus()})};return It(()=>e.open,m=>{var T;m?(r.value=!1,i.value=!0,o=document.activeElement,document.addEventListener("keydown",u),p()):(r.value=!0,document.removeEventListener("keydown",u),(T=o==null?void 0:o.focus)==null||T.call(o),o=null,a=window.setTimeout(()=>{i.value=!1,r.value=!1},300))},{flush:"post"}),$t(()=>{document.removeEventListener("keydown",u),window.clearTimeout(a)}),()=>{var m,T,x;return i.value?h(pr,{to:"body"},[h("div",{class:L("modal",r.value?"a-hide":"a-show"),"aria-hidden":"false"},[h("div",{class:"modal-backdrop",onClick:()=>e.closeOnBackdrop&&f()}),h("div",{ref:s,class:"modal-dialog",role:"dialog","aria-modal":"true","aria-labelledby":l,tabindex:"-1"},[h("header",{class:"modal-header"},[h("h4",{class:"modal-title",id:l},((m=n.title)==null?void 0:m.call(n))||e.title),h("button",{class:"btn-icon modal-close",type:"button","aria-label":"Close",onClick:f},[le("ph-x")])]),h("div",{class:"modal-panel"},[h("div",{class:"modal-body"},(T=n.default)==null?void 0:T.call(n)),(n.footer||n.actions)&&h("footer",{class:"modal-footer"},[(x=n.footer)==null?void 0:x.call(n),n.actions&&h("div",{class:"actions"},n.actions({close:f}))])])])])]):null}}}),ta=j({name:"GnDescriptionList",props:{items:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>h("dl",{...t,class:L("description-list",{"description-list-compact":e.compact},t.class)},e.items.map(l=>{var s;return h("div",{class:"description-list-row"},[h("dt",{class:"description-list-term"},l.term||l.label),h("dd",{class:L("description-list-value",l.muted&&"description-list-value-muted")},((s=n[l.key])==null?void 0:s.call(n,{item:l}))||l.value)])}))}}),na=j({name:"GnDropdown",props:{label:{type:String,default:"Actions"},icon:{type:String,default:"ph-dots-three-outline"},variant:{type:String,default:"secondary"},items:{type:Array,default:()=>[]}},emits:["select"],setup(e,{emit:t,slots:n}){const l=Z(!1),s=Z(null),i=()=>{l.value=!1,document.removeEventListener("click",r),document.removeEventListener("keydown",o)},r=u=>{s.value&&!s.value.contains(u.target)&&i()},o=u=>{u.key==="Escape"&&(u.preventDefault(),i())},a=()=>{l.value=!l.value,l.value?(setTimeout(()=>document.addEventListener("click",r),0),document.addEventListener("keydown",o)):i()},f=u=>{var p;u.disabled||((p=u.onSelect)==null||p.call(u,u),t("select",u),i())};return $t(i),()=>{var u,p;return h("div",{ref:s,class:L("dropdown",{"is-open":l.value})},[((u=n.trigger)==null?void 0:u.call(n,{open:l.value,toggle:a}))||h(_n,{variant:e.variant,icon:e.icon,"aria-expanded":l.value?"true":"false",onClick:a},()=>e.label),h("div",{class:"dropdown-menu",role:"menu"},((p=n.default)==null?void 0:p.call(n,{close:i}))||e.items.map(m=>h("button",{class:L("dropdown-item",m.danger&&"dropdown-item-danger"),type:"button",role:"menuitem",disabled:m.disabled,onClick:()=>f(m)},[le(m.icon),m.label])))])}}}),la=j({name:"GnEmptyState",props:{title:{type:String,required:!0},text:{type:String,default:""},icon:{type:String,default:"ph-package"},variant:{type:String,default:""}},setup(e,{attrs:t,slots:n}){return()=>{var l,s;return h("div",{...t,class:L("empty-state",e.variant&&`empty-state-${e.variant}`,t.class)},[h("div",{class:"empty-state-icon"},[le(e.icon)]),h("h3",{class:"empty-state-title"},((l=n.title)==null?void 0:l.call(n))||e.title),(e.text||n.default)&&h("p",{class:"empty-state-text"},((s=n.default)==null?void 0:s.call(n))||e.text),n.actions&&h("div",{class:"empty-state-actions"},n.actions())])}}});function Ql(e){const t=e.name.split(".").pop();return t?t.slice(0,6).toUpperCase():"FILE"}function sa(e){if(!e.size)return"0 B";const t=["B","KB","MB","GB"],n=Math.min(Math.floor(Math.log(e.size)/Math.log(1024)),t.length-1),l=e.size/Math.pow(1024,n);return`${l.toFixed(l>=10||n===0?0:1)} ${t[n]}`}var ia=j({name:"GnFileUpload",props:{modelValue:{type:Array,default:()=>[]},title:{type:String,default:"Upload files"},description:{type:String,default:"Attach documents, archives or images."},primary:{type:String,default:"Choose files"},secondary:{type:String,default:"Images get thumbnails, other files show their type"},badge:{type:String,default:""},multiple:{type:Boolean,default:!0},accept:{type:String,default:""}},emits:["update:modelValue","change"],setup(e,{emit:t,slots:n}){const l=Z(new Map),s=f=>{const u=l.value.get(f);u&&(URL.revokeObjectURL(u),l.value.delete(f))},i=()=>{l.value.forEach(f=>URL.revokeObjectURL(f)),l.value.clear()},r=f=>{const u=Array.from(f||[]);t("update:modelValue",u),t("change",u)},o=f=>{s(e.modelValue[f]);const u=e.modelValue.filter((p,m)=>m!==f);t("update:modelValue",u),t("change",u)},a=f=>{var u;return(u=f.type)!=null&&u.startsWith("image/")?(l.value.has(f)||l.value.set(f,URL.createObjectURL(f)),l.value.get(f)):""};return It(()=>e.modelValue,f=>{const u=new Set(f);[...l.value.keys()].forEach(p=>{u.has(p)||s(p)})}),$t(i),()=>{var f,u;return h("div",{class:"file-upload-panel"},[h("div",{class:"file-upload-form"},[h("div",{class:"file-upload-header"},[h("div",{class:"file-upload-heading"},[h("h3",{class:"file-upload-title"},((f=n.title)==null?void 0:f.call(n))||e.title),h("p",{class:"file-upload-description"},((u=n.description)==null?void 0:u.call(n))||e.description)]),e.badge&&h(ei,{variant:"info"},()=>e.badge)]),h("label",{class:"file-upload-dropzone"},[h("span",{class:"file-upload-icon","aria-hidden":"true"},[le("ph-cloud-arrow-up")]),h("span",{class:"file-upload-body"},[h("span",{class:"file-upload-primary"},e.primary),h("span",{class:"file-upload-secondary"},e.secondary)]),h("input",{type:"file",multiple:e.multiple,accept:e.accept||void 0,onChange:p=>r(p.target.files)})]),h("div",{class:"file-upload-preview",hidden:!e.modelValue.length},e.modelValue.map((p,m)=>h("figure",{class:"file-upload-preview-item"},[h("button",{class:"file-upload-preview-remove",type:"button","aria-label":`Remove ${p.name}`,onClick:()=>o(m)},[le("ph-x")]),h("div",{class:"file-upload-preview-visual"},a(p)?h("img",{src:a(p),alt:""}):h("span",{class:"file-upload-preview-type"},Ql(p))),h("figcaption",{},[h("span",{class:"file-upload-preview-name"},p.name),h("span",{class:"file-upload-preview-meta"},`${Ql(p)} / ${sa(p)}`)])]))),n.actions&&h("div",{class:"file-upload-actions"},n.actions()),!n.actions&&e.modelValue.length>0&&h("div",{class:"file-upload-actions"},[h(_n,{variant:"secondary",size:"sm",onClick:()=>{i(),r([])}},()=>"Reset")])])])}}}),ra=j({name:"GnInput",inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},type:{type:String,default:"text"},icon:{type:String,default:""},state:{type:String,default:""},help:{type:String,default:""}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n}){return()=>h("div",{class:"form-group"},[h("label",{class:L("label",e.state)},[e.label,le(e.icon),h("input",{...t,type:e.type,value:e.modelValue,class:L("input",t.class),onInput:l=>n("update:modelValue",vn(l))})]),e.help&&h("div",{class:L("input-info",e.state==="error"&&"error")},e.help)])}}),oa=j({name:"GnMetricCard",props:{label:{type:String,required:!0},value:{type:[String,Number],required:!0},icon:{type:String,default:"ph-chart-line-up"},delta:{type:String,default:""},negative:{type:Boolean,default:!1},meta:{type:String,default:""}},setup(e,{attrs:t,slots:n}){return()=>{var l,s,i;return h("article",{...t,class:L("card metric-card",t.class)},[h("div",{class:"card-content"},[h("div",{class:"metric-card-header"},[h("p",{class:"metric-card-label"},((l=n.label)==null?void 0:l.call(n))||e.label),h("span",{class:"metric-card-icon"},[le(e.icon)])]),h("p",{class:"metric-card-value"},((s=n.value)==null?void 0:s.call(n))||e.value),(e.delta||e.meta||n.meta)&&h("div",{class:"metric-card-meta"},[e.delta&&h("span",{class:L("metric-card-delta",{"metric-card-delta-negative":e.negative})},e.delta),((i=n.meta)==null?void 0:i.call(n))||e.meta])])])}}}),aa=j({name:"GnPageHeader",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},kicker:{type:String,default:""},compact:{type:Boolean,default:!1},accent:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l,s,i;return h("header",{...t,class:L("page-header",{"page-header-compact":e.compact,"page-header-accent":e.accent},t.class)},[h("div",{class:"page-header-content"},[(e.kicker||n.kicker)&&h("div",{class:"page-header-kicker"},((l=n.kicker)==null?void 0:l.call(n))||e.kicker),h("h1",{class:"page-header-title"},((s=n.title)==null?void 0:s.call(n))||e.title),(e.subtitle||n.subtitle)&&h("p",{class:"page-header-subtitle"},((i=n.subtitle)==null?void 0:i.call(n))||e.subtitle),n.meta&&h("div",{class:"page-header-meta"},n.meta())]),n.actions&&h("div",{class:"page-header-actions"},n.actions())])}}}),ca=j({name:"GnPopover",props:{label:{type:String,default:"Details"},title:{type:String,default:""},text:{type:String,default:""},icon:{type:String,default:"ph-info"},variant:{type:String,default:"accent"}},setup(e,{slots:t}){const n=Z(!1),l=Z(null),s=()=>{n.value=!1,document.removeEventListener("click",i),document.removeEventListener("keydown",r)},i=a=>{l.value&&!l.value.contains(a.target)&&s()},r=a=>{a.key==="Escape"&&(a.preventDefault(),s())},o=()=>{n.value=!n.value,n.value?(setTimeout(()=>document.addEventListener("click",i),0),document.addEventListener("keydown",r)):s()};return $t(s),()=>{var a,f,u;return h("div",{ref:l,class:L("popover",{"is-open":n.value})},[((a=t.trigger)==null?void 0:a.call(t,{open:n.value,toggle:o}))||h(_n,{variant:e.variant,icon:e.icon,"aria-expanded":n.value?"true":"false",onClick:o},()=>e.label),h("div",{class:"popover-panel"},[(e.title||t.title)&&h("h3",{class:"popover-title"},((f=t.title)==null?void 0:f.call(t))||e.title),(e.text||t.default)&&h("p",{class:"popover-text"},((u=t.default)==null?void 0:u.call(t))||e.text)])])}}}),ti=j({name:"GnProgress",props:{value:{type:Number,required:!0},max:{type:Number,default:100},label:{type:String,default:""},variant:{type:String,default:"secondary"},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1}},setup(e,{attrs:t,slots:n}){return()=>{var l;const s=Math.max(0,Math.min(100,Math.round(e.value/e.max*100))),i=gt(e.variant,"secondary");return h("div",{...t,class:L("progress",`progress-${i}`,{"progress-striped":e.striped,"progress-animated":e.animated},t.class),style:{"--progress-value":`${s}%`}},[(e.label||n.label)&&h("div",{class:"progress-header"},[h("span",{},((l=n.label)==null?void 0:l.call(n))||e.label),h("span",{class:"progress-value"},`${s}%`)]),h("div",{class:"progress-track"},[h("span",{class:"progress-bar",role:"progressbar","aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.max})])])}}}),ua=j({name:"GnProgressStages",props:{items:{type:Array,default:()=>[]}},setup(e,{attrs:t}){return()=>h("div",{...t,class:L("progress-stages",t.class)},e.items.map(n=>h("div",{class:L("progress-stage",{"progress-stage-complete":n.status==="complete","progress-stage-current":n.status==="current"})},n.label||n)))}}),fa=j({name:"GnRadio",inheritAttrs:!1,props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],required:!0},label:{type:String,default:""},name:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n,slots:l}){return()=>{var s;return h("label",{class:L("radio",t.class)},[h("input",{...t,type:"radio",name:e.name,value:e.value,checked:e.modelValue===e.value,disabled:e.disabled,onChange:()=>n("update:modelValue",e.value)}),h("span",{class:"radio-control","aria-hidden":"true"}),h("span",{class:"radio-label"},((s=l.default)==null?void 0:s.call(l))||e.label)])}}}),da=j({name:"GnRadioGroup",props:{modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:"gn-radio-group"},label:{type:String,default:""},options:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){return()=>{var l;return h("div",{class:"form-group",role:"radiogroup","aria-label":e.label||void 0},[e.label&&h("div",{class:"label"},e.label),((l=n.default)==null?void 0:l.call(n))||e.options.map(s=>h(fa,{modelValue:e.modelValue,"onUpdate:modelValue":i=>t("update:modelValue",i),name:e.name,value:s.value,label:s.label,disabled:s.disabled}))])}}}),pa=j({name:"GnRange",inheritAttrs:!1,props:{modelValue:{type:[Number,String],default:0},label:{type:String,default:""},min:{type:[Number,String],default:0},max:{type:[Number,String],default:100},step:{type:[Number,String],default:1}},emits:["update:modelValue"],setup(e,{attrs:t,emit:n}){return()=>h("div",{class:"range"},[h("label",{class:"label"},[e.label,h("input",{...t,type:"range",value:e.modelValue,min:e.min,max:e.max,step:e.step,onInput:l=>n("update:modelValue",vn(l))})])])}}),ha=j({name:"GnTabs",props:{modelValue:{type:String,default:""},items:{type:Array,required:!0},compact:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Tabs"}},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const l=Rt(()=>{var a,f;return e.modelValue||((a=e.items.find(u=>!u.disabled))==null?void 0:a.id)||((f=e.items[0])==null?void 0:f.id)}),s=a=>{a.disabled||t("update:modelValue",a.id)},i=()=>e.items.filter(a=>!a.disabled),r=(a,f)=>{const u=i(),p=u.findIndex(T=>T.id===a.id),m=u[(p+f+u.length)%u.length];s(m)},o=(a,f)=>{if(a.key==="ArrowRight"||a.key==="ArrowDown")a.preventDefault(),r(f,1);else if(a.key==="ArrowLeft"||a.key==="ArrowUp")a.preventDefault(),r(f,-1);else if(a.key==="Home")a.preventDefault(),s(i()[0]);else if(a.key==="End"){a.preventDefault();const u=i();s(u[u.length-1])}};return()=>h("div",{class:L("tabs",{"tabs-compact":e.compact,"tabs-vertical":e.vertical})},[h("div",{class:"tabs-list",role:"tablist","aria-label":e.ariaLabel},e.items.map(a=>{const f=a.id===l.value,u=`${a.id}-panel`;return h("button",{class:L("tab",{"tab-active":f}),type:"button",role:"tab","aria-selected":f?"true":"false","aria-controls":u,"aria-disabled":a.disabled?"true":void 0,tabindex:f?"0":"-1",onClick:()=>s(a),onKeydown:p=>o(p,a)},[le(a.icon),a.label])})),h("div",{class:"tabs-panels"},e.items.map(a=>{var f,u;const p=a.id===l.value;return h("div",{id:`${a.id}-panel`,class:L("tab-panel",{"tab-panel-active":p}),role:"tabpanel",hidden:!p},((f=n[a.id])==null?void 0:f.call(n,{item:a,active:p}))||p&&((u=n.default)==null?void 0:u.call(n,{item:a,active:p})))}))])}}),ga=j({name:"GnSearchField",inheritAttrs:!1,props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search"},compact:{type:Boolean,default:!0},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","clear"],setup(e,{attrs:t,emit:n}){const l=()=>{n("update:modelValue",""),n("clear")};return()=>h("div",{class:L("input-group search-field",{"input-group-compact":e.compact})},[h("span",{class:"input-group-addon"},[le("ph-magnifying-glass")]),h("input",{...t,type:"search",value:e.modelValue,placeholder:e.placeholder,class:L("input-group-input",t.class),onInput:s=>n("update:modelValue",vn(s))}),e.clearable&&h("button",{class:"input-group-action",type:"button","aria-label":"Clear search",onClick:l},[le("ph-x")])])}}),ma=j({name:"GnTooltip",props:{text:{type:String,default:""}},setup(e,{attrs:t,slots:n}){const l=Z(!1);return()=>{var s,i;return h("span",{...t,class:L("tooltip",{"is-open":l.value},t.class),onFocusin:()=>{l.value=!0},onFocusout:()=>{l.value=!1}},[(s=n.default)==null?void 0:s.call(n),h("span",{class:"tooltip-panel",role:"tooltip"},((i=n.panel)==null?void 0:i.call(n))||e.text)])}}}),ni=Symbol("gnexus-ui-kit-toast"),Zl={info:"ph-info",success:"ph-check-circle",warning:"ph-warning",danger:"ph-warning-octagon",error:"ph-warning-octagon",primary:"ph-info",secondary:"ph-info"},va=j({name:"GnToastProvider",props:{lifetime:{type:Number,default:4e3}},setup(e,{slots:t,expose:n}){const l=Z(null),s=Z(!1);let i=null,r=null;const o=()=>{window.clearTimeout(r),s.value=!0,r=window.setTimeout(()=>{l.value=null,s.value=!1,window.clearTimeout(i),i=null},300)},a=()=>{window.clearTimeout(r),window.clearTimeout(i),s.value=!1,l.value=null},f=p=>{window.clearTimeout(r),s.value=!1;const m=gt(p.variant||p.type||"info","info");l.value={id:Date.now(),variant:m==="error"?"danger":m,title:p.title||"",text:p.text||p.message||"",icon:p.icon||Zl[m]||Zl.info},window.clearTimeout(i),p.lifetime!==0&&(i=window.setTimeout(o,p.lifetime||e.lifetime))},u={show:f,close:a,info:p=>f({...p,variant:"info"}),success:p=>f({...p,variant:"success"}),warning:p=>f({...p,variant:"warning"}),danger:p=>f({...p,variant:"danger"}),error:p=>f({...p,variant:"danger"})};return Os(ni,u),n(u),()=>{var p;return[(p=t.default)==null?void 0:p.call(t),l.value&&h("div",{class:L("toast",s.value?"a-hide":"a-show",`toast-${l.value.variant}`),role:"alert"},[h("div",{class:"toast-content"},[h("h4",{class:"toast-title"},[le(l.value.icon),l.value.title]),h("p",{class:"toast-text"},l.value.text)]),h("button",{class:"btn-icon toast-close",type:"button","aria-label":"Close",onClick:o},[le("ph-x")])])]}}}),_a=j({name:"GnUsageMeter",props:{title:{type:String,required:!0},value:{type:Number,required:!0},max:{type:Number,default:100},meta:{type:String,default:""}},setup(e,{slots:t}){return()=>{var n,l;const s=Math.max(0,Math.min(100,Math.round(e.value/e.max*100)));return h("section",{class:"usage-meter"},[h("h3",{class:"usage-meter-title"},[((n=t.title)==null?void 0:n.call(t))||e.title,h("span",{class:"usage-meter-value"},`${s}%`)]),h(ti,{value:e.value,max:e.max}),(e.meta||t.meta)&&h("p",{class:"usage-meter-meta"},((l=t.meta)==null?void 0:l.call(t))||e.meta)])}}});function ba(){const e=Gt(ni,null);if(e)return e;const t=()=>{throw new Error("GNexus UI Kit: useToast() requires near the app root.")};return{show:t,info:t,success:t,warning:t,danger:t,error:t,close:t}}const ya={components:{GnButton:_n,GnActionCard:Wo,GnActivityLog:qo,GnAvatar:zo,GnBadge:ei,GnChip:Jo,GnChipGroup:Yo,GnCombobox:Qo,GnDescriptionList:ta,GnDropdown:na,GnEmptyState:la,GnFileUpload:ia,GnInput:ra,GnMetricCard:oa,GnModal:ea,GnPopover:ca,GnPageHeader:aa,GnProgress:ti,GnProgressStages:ua,GnRadioGroup:da,GnRange:pa,GnSearchField:ga,GnTabs:ha,GnTooltip:ma,GnUsageMeter:_a},setup(){const e=Z("overview"),t=Z(!1),n=Z("Launch Plan"),l=Z(""),s=Z("auto"),i=Z(72),r=Z(""),o=Z([]),a=ba();return{activeTab:e,activity:[{key:"created",time:"10:12",title:"Workspace created"},{key:"synced",time:"10:18",title:"Tokens synced"}],details:[{key:"owner",term:"Owner",value:"Ops Console"},{key:"status",term:"Status",value:"Active"},{key:"region",term:"Region",value:"eu-central"}],files:o,mode:s,menuItems:[{label:"Edit",icon:"ph-pencil-simple"},{label:"Duplicate",icon:"ph-copy"},{label:"Delete",icon:"ph-trash",danger:!0}],modalOpen:t,name:n,assignee:r,people:[{label:"Joe",value:"joe"},{label:"James",value:"james"},{label:"Eliza",value:"eliza"},{label:"Emily",value:"emily"}],query:l,rollout:i,modes:[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"Locked",value:"locked",disabled:!0}],stages:[{label:"Created",status:"complete"},{label:"Review",status:"current"},{label:"Deploy"},{label:"Done"}],tabs:[{id:"overview",label:"Overview",icon:"ph-chart-bar"},{id:"activity",label:"Activity",icon:"ph-clock"}],save:()=>{a.success({title:"Saved",text:`${n.value} updated`}),t.value=!1}}},template:` +
    + + + + +
    + + + +
    + +
    + + + + +
    + +
    +
    + + + + +
    +
    + +
    +
    + + + +
    +
    + +
    + +
    + +
    +
    + +
    + +
    + +
    + + + +
    + + + + + +
    + `},Sa={components:{GnToastProvider:va,DemoScreen:ya},template:` + + + + `};Uo(Sa).mount("#app"); diff --git a/examples/vue/dist/index.html b/examples/vue/dist/index.html index 4487548..b719d7b 100644 --- a/examples/vue/dist/index.html +++ b/examples/vue/dist/index.html @@ -4,7 +4,7 @@ GNexus UI Kit Vue Example - + diff --git a/src/js/components/helper.js b/src/js/components/helper.js index bfcb1cb..575e276 100644 --- a/src/js/components/helper.js +++ b/src/js/components/helper.js @@ -142,7 +142,7 @@ btn.classList.add("loading-state"); btn.setAttribute("disabled", "disabled"); - btn.innerHTML = ` Loading`; + btn.innerHTML = ` Loading`; } else { btn.isLoading = false; if(!btn.originalContent) { @@ -171,7 +171,7 @@ card.originalContent = iconContainer.innerHTML; card.classList.add("loading-state"); card.setAttribute("disabled", "disabled"); - iconContainer.innerHTML = ``; + iconContainer.innerHTML = ``; } else { card.isLoading = false; if(!card.originalContent) { @@ -270,7 +270,7 @@ function circleLoaderHTML() { return `
    - + Loading
    `; diff --git a/src/vue/utils.js b/src/vue/utils.js index 86a1714..bd9b5e5 100644 --- a/src/vue/utils.js +++ b/src/vue/utils.js @@ -57,7 +57,7 @@ : `ph-${icon}`; return h("i", { - class: cx(iconClass, extraClass), + class: cx("ph", iconClass, extraClass), "aria-hidden": "true" }); }