@invisibleloop/pulse 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/.github/workflows/publish.yml +11 -20
  2. package/README.md +1 -1
  3. package/docs/public/.pulse-ui-version +1 -1
  4. package/docs/public/docs.css +19 -1
  5. package/docs/public/pulse-ui.css +1 -0
  6. package/docs/server.js +5 -2
  7. package/docs/src/lib/highlight.js +57 -13
  8. package/docs/src/lib/layout.js +5 -2
  9. package/docs/src/pages/faq.js +5 -2
  10. package/docs/src/pages/home.js +9 -5
  11. package/docs/src/pages/meta.js +21 -0
  12. package/docs/src/pages/routing.js +12 -1
  13. package/package.json +1 -1
  14. package/public/pulse-ui.css +2 -2
  15. package/src/agent/guide-components.md +1 -1
  16. package/src/agent/guide-routing.md +20 -0
  17. package/src/agent/guide-spec.md +10 -1
  18. package/src/agent/guide-styles.md +16 -1
  19. package/src/agent/workflow.md +1 -1
  20. package/src/cli/scaffold.js +63 -2
  21. package/src/mcp/server.js +34 -18
  22. package/src/server/index.js +26 -7
  23. package/src/server/server.test.js +47 -0
  24. package/src/ui/stat.js +1 -1
  25. package/src/ui/ui.test.js +6 -0
  26. package/docs/public/dist/accessibility.boot-5DVTARJU.js +0 -115
  27. package/docs/public/dist/actions.boot-P66HKQEM.js +0 -164
  28. package/docs/public/dist/auth.boot-IMAJAUPH.js +0 -140
  29. package/docs/public/dist/caching.boot-DVR6KDE7.js +0 -53
  30. package/docs/public/dist/components--accordion.boot-3HVKMNWC.js +0 -11
  31. package/docs/public/dist/components--alert.boot-GCEXOZAC.js +0 -6
  32. package/docs/public/dist/components--app-badge.boot-DVT3GCHJ.js +0 -6
  33. package/docs/public/dist/components--avatar.boot-PSW24EVA.js +0 -5
  34. package/docs/public/dist/components--badge.boot-TYDY2RMK.js +0 -7
  35. package/docs/public/dist/components--banner.boot-EI5PZSZK.js +0 -7
  36. package/docs/public/dist/components--breadcrumbs.boot-SMA2E2GO.js +0 -34
  37. package/docs/public/dist/components--button.boot-J54BQM2E.js +0 -23
  38. package/docs/public/dist/components--card.boot-PZGNDIB6.js +0 -138
  39. package/docs/public/dist/components--carousel.boot-TP6LPFZZ.js +0 -12
  40. package/docs/public/dist/components--charts.boot-2EOYQWKL.js +0 -108
  41. package/docs/public/dist/components--checkbox.boot-DS5BSL6T.js +0 -54
  42. package/docs/public/dist/components--cluster.boot-HHVIBBJG.js +0 -9
  43. package/docs/public/dist/components--code-window.boot-2GR2DV33.js +0 -20
  44. package/docs/public/dist/components--container.boot-7LOOGK2K.js +0 -5
  45. package/docs/public/dist/components--cta.boot-FSNZ5YRT.js +0 -11
  46. package/docs/public/dist/components--divider.boot-3NI2C3QG.js +0 -6
  47. package/docs/public/dist/components--empty.boot-YX2UR3PV.js +0 -7
  48. package/docs/public/dist/components--feature.boot-MUD7NSUO.js +0 -13
  49. package/docs/public/dist/components--fieldset.boot-J7BYHMKF.js +0 -19
  50. package/docs/public/dist/components--fileupload.boot-NIKVTTPD.js +0 -52
  51. package/docs/public/dist/components--footer.boot-EYUK5FRG.js +0 -14
  52. package/docs/public/dist/components--grid.boot-URDQVDDR.js +0 -59
  53. package/docs/public/dist/components--heading.boot-BPQKU43E.js +0 -44
  54. package/docs/public/dist/components--hero.boot-4RAPRGAB.js +0 -17
  55. package/docs/public/dist/components--icons.boot-ZITNU5JP.js +0 -68
  56. package/docs/public/dist/components--image.boot-XEEGHQZF.js +0 -19
  57. package/docs/public/dist/components--input.boot-SGASZG5K.js +0 -7
  58. package/docs/public/dist/components--list.boot-W3XC5MHD.js +0 -55
  59. package/docs/public/dist/components--media.boot-5VFIETZO.js +0 -13
  60. package/docs/public/dist/components--modal.boot-RZUYXBN2.js +0 -47
  61. package/docs/public/dist/components--nav.boot-ODBOHU7O.js +0 -33
  62. package/docs/public/dist/components--pricing.boot-4AQ4ZVBY.js +0 -21
  63. package/docs/public/dist/components--progress.boot-GHAGYZOK.js +0 -30
  64. package/docs/public/dist/components--prose.boot-QANJL6JI.js +0 -67
  65. package/docs/public/dist/components--pullquote.boot-Q2WMNAZU.js +0 -22
  66. package/docs/public/dist/components--radio.boot-TJRDQ2OL.js +0 -75
  67. package/docs/public/dist/components--rating.boot-QBAN6DEL.js +0 -38
  68. package/docs/public/dist/components--search.boot-PXH5O5AG.js +0 -17
  69. package/docs/public/dist/components--section.boot-AQGIYHWW.js +0 -12
  70. package/docs/public/dist/components--segmented.boot-BEVTKEJO.js +0 -33
  71. package/docs/public/dist/components--select.boot-47X5RHOC.js +0 -10
  72. package/docs/public/dist/components--slider.boot-PSRRX7XL.js +0 -47
  73. package/docs/public/dist/components--spinner.boot-MZ5MO2OH.js +0 -22
  74. package/docs/public/dist/components--stack.boot-DI4NJXBF.js +0 -9
  75. package/docs/public/dist/components--stat.boot-QMFUWBQT.js +0 -9
  76. package/docs/public/dist/components--stepper.boot-34PP2NEV.js +0 -22
  77. package/docs/public/dist/components--table.boot-FCQGSFIQ.js +0 -11
  78. package/docs/public/dist/components--testimonial.boot-DWQPDKYG.js +0 -11
  79. package/docs/public/dist/components--textarea.boot-QVXLBOJ5.js +0 -4
  80. package/docs/public/dist/components--timeline.boot-26LN52P2.js +0 -95
  81. package/docs/public/dist/components--toggle.boot-IQQEI76S.js +0 -29
  82. package/docs/public/dist/components--tooltip.boot-LGHCO6NN.js +0 -9
  83. package/docs/public/dist/components.boot-SE6PQ4P7.js +0 -103
  84. package/docs/public/dist/config.boot-DTRRWUE6.js +0 -126
  85. package/docs/public/dist/constraints.boot-DUHDZBMC.js +0 -71
  86. package/docs/public/dist/deploy.boot-SLAD3NI2.js +0 -163
  87. package/docs/public/dist/docs-8e3d4b5c.css +0 -1
  88. package/docs/public/dist/extending.boot-UA3CN243.js +0 -159
  89. package/docs/public/dist/faq.boot-6EQAWLQR.js +0 -43
  90. package/docs/public/dist/getting-started.boot-TDKIFL5U.js +0 -86
  91. package/docs/public/dist/guard.boot-AUHAWTG4.js +0 -80
  92. package/docs/public/dist/home.boot-BVQXRH32.js +0 -383
  93. package/docs/public/dist/how-it-works.boot-LTWAKWKW.js +0 -104
  94. package/docs/public/dist/hydration.boot-JRM6IPJL.js +0 -78
  95. package/docs/public/dist/images.boot-M6ZVKTZS.js +0 -80
  96. package/docs/public/dist/manifest.json +0 -94
  97. package/docs/public/dist/meta.boot-7NXGPHR4.js +0 -79
  98. package/docs/public/dist/mutations.boot-F6F43UDX.js +0 -79
  99. package/docs/public/dist/navigation.boot-AOXWS3ZF.js +0 -57
  100. package/docs/public/dist/performance.boot-C3UPCOBK.js +0 -98
  101. package/docs/public/dist/persist.boot-WT32PQOQ.js +0 -61
  102. package/docs/public/dist/project-structure.boot-FB3LRVJ4.js +0 -63
  103. package/docs/public/dist/prompt-examples.boot-YKR4VDK4.js +0 -31
  104. package/docs/public/dist/pulse-ui-81a85c03.css +0 -1
  105. package/docs/public/dist/raw-responses.boot-M4KA5YXL.js +0 -104
  106. package/docs/public/dist/routing.boot-FNX5FDGH.js +0 -70
  107. package/docs/public/dist/runtime-B73WLANC.js +0 -1
  108. package/docs/public/dist/runtime-KO4BHUQ3.js +0 -49
  109. package/docs/public/dist/runtime-L2HNXIHW.js +0 -59
  110. package/docs/public/dist/runtime-QFURDKA2.js +0 -5
  111. package/docs/public/dist/runtime-UVPXO4IR.js +0 -375
  112. package/docs/public/dist/runtime-VMJA3Z4N.js +0 -10
  113. package/docs/public/dist/runtime-ZJ4FXT5O.js +0 -11
  114. package/docs/public/dist/server-api.boot-K7X3LCFB.js +0 -219
  115. package/docs/public/dist/server-data.boot-Y7HQYC4R.js +0 -157
  116. package/docs/public/dist/slash-commands.boot-V2UV7OW2.js +0 -26
  117. package/docs/public/dist/spec.boot-2WU7ZHCV.js +0 -159
  118. package/docs/public/dist/state.boot-B24GUE3R.js +0 -73
  119. package/docs/public/dist/store.boot-TLIB4XHH.js +0 -150
  120. package/docs/public/dist/streaming.boot-W2DZSMW4.js +0 -80
  121. package/docs/public/dist/stripe.boot-QN3C2GEL.js +0 -164
  122. package/docs/public/dist/supabase.boot-BG4XXLZE.js +0 -303
  123. package/docs/public/dist/testing.boot-6U4WKMTE.js +0 -130
  124. package/docs/public/dist/validation.boot-PQHYGW5B.js +0 -100
@@ -1,59 +0,0 @@
1
- var s=[{section:"Framework",items:[{label:"Overview",href:"/"},{label:"FAQ",href:"/faq"},{label:"Project Structure",href:"/project-structure"},{label:"Spec Reference",href:"/spec"},{label:"Configuration",href:"/config"}]},{section:"Developer Guide",items:[{label:"Getting Started",href:"/getting-started"},{label:"How It Works",href:"/how-it-works"},{label:"Slash Commands",href:"/slash-commands"},{label:"Prompt Examples",href:"/prompt-examples"},{label:"Component Library",href:"/components"}]},{section:"State & Behaviour",items:[{label:"State",href:"/state"},{label:"Mutations",href:"/mutations"},{label:"Actions",href:"/actions"},{label:"Validation",href:"/validation"},{label:"Constraints",href:"/constraints"},{label:"Persist",href:"/persist"}]},{section:"Server",items:[{label:"Server Data",href:"/server-data"},{label:"Global Store",href:"/store"},{label:"Routing",href:"/routing"},{label:"Streaming SSR",href:"/streaming"},{label:"Caching",href:"/caching"},{label:"Guard",href:"/guard"},{label:"Raw Responses",href:"/raw-responses"},{label:"Server API",href:"/server-api"},{label:"Extending Pulse",href:"/extending"}]},{section:"Client",items:[{label:"Hydration",href:"/hydration"},{label:"Navigation",href:"/navigation"},{label:"Images",href:"/images"}]},{section:"Deployment",items:[{label:"Deployment",href:"/deploy"}]},{section:"Integrations",items:[{label:"Supabase",href:"/supabase"},{label:"Auth (Auth0)",href:"/auth"},{label:"Payments (Stripe)",href:"/stripe"}]},{section:"Reference",items:[{label:"Metadata & SEO",href:"/meta"},{label:"Performance",href:"/performance"},{label:"Accessibility",href:"/accessibility"},{label:"Testing",href:"/testing"}]},{section:"UI Components",items:[{label:"Alert",href:"/components/alert"},{label:"Avatar",href:"/components/avatar"},{label:"Badge",href:"/components/badge"},{label:"Breadcrumbs",href:"/components/breadcrumbs"},{label:"Button",href:"/components/button"},{label:"Card",href:"/components/card"},{label:"Checkbox",href:"/components/checkbox"},{label:"Carousel",href:"/components/carousel"},{label:"Charts",href:"/components/charts"},{label:"Empty",href:"/components/empty"},{label:"Fieldset",href:"/components/fieldset"},{label:"File Upload",href:"/components/file-upload"},{label:"Heading",href:"/components/heading"},{label:"Icons",href:"/components/icons"},{label:"Image",href:"/components/image"},{label:"Input",href:"/components/input"},{label:"List",href:"/components/list"},{label:"Modal",href:"/components/modal"},{label:"Progress",href:"/components/progress"},{label:"Prose",href:"/components/prose"},{label:"Pullquote",href:"/components/pullquote"},{label:"Radio",href:"/components/radio"},{label:"Rating",href:"/components/rating"},{label:"Search",href:"/components/search"},{label:"Segmented",href:"/components/segmented"},{label:"Select",href:"/components/select"},{label:"Slider",href:"/components/slider"},{label:"Spinner",href:"/components/spinner"},{label:"Stat",href:"/components/stat"},{label:"Stepper",href:"/components/stepper"},{label:"Table",href:"/components/table"},{label:"Textarea",href:"/components/textarea"},{label:"Timeline",href:"/components/timeline"},{label:"Toggle",href:"/components/toggle"},{label:"Tooltip",href:"/components/tooltip"}]},{section:"Landing Components",items:[{label:"Accordion",href:"/components/accordion"},{label:"App Badge",href:"/components/app-badge"},{label:"CTA",href:"/components/cta"},{label:"Feature",href:"/components/feature"},{label:"Hero",href:"/components/hero"},{label:"Nav",href:"/components/nav"},{label:"Pricing",href:"/components/pricing"},{label:"Testimonial",href:"/components/testimonial"}]},{section:"Layout Components",items:[{label:"Banner",href:"/components/banner"},{label:"Cluster",href:"/components/cluster"},{label:"Code Window",href:"/components/code-window"},{label:"Container",href:"/components/container"},{label:"Divider",href:"/components/divider"},{label:"Footer",href:"/components/footer"},{label:"Grid",href:"/components/grid"},{label:"Media",href:"/components/media"},{label:"Section",href:"/components/section"},{label:"Stack",href:"/components/stack"}]}];function p(e){let a=s.flatMap(t=>t.items),l=a.findIndex(t=>t.href===e);return{prev:l>0?a[l-1]:null,next:l<a.length-1?a[l+1]:null}}function n(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function c(e){return`
2
- <aside class="docs-sidebar" aria-label="Documentation navigation">
3
- <div class="sidebar-logo">
4
- <a href="/" class="logo-link" aria-label="Pulse home">
5
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
6
- <path d="M13 2L4.5 13.5H11L10 22L19.5 10.5H13L13 2Z" fill="var(--accent)" stroke="var(--accent)" stroke-width="1" stroke-linejoin="round"/>
7
- </svg>
8
- <span class="logo-name">Pulse</span>
9
- </a>
10
- <span class="version-badge">v0.1</span>
11
- </div>
12
- <nav class="sidebar-nav">
13
- ${s.map(({section:l,items:t})=>{let r=t.map(o=>{let i=o.href===e;return`<a href="${n(o.href)}" class="nav-link${i?" active":""}"${i?' aria-current="page"':""}>${n(o.label)}</a>`}).join("");return`
14
- <div class="nav-section">
15
- <p class="nav-section-title">${n(l)}</p>
16
- ${r}
17
- </div>`}).join("")}
18
- </nav>
19
- </aside>`}function h(e,a){return!e&&!a?"":`
20
- <nav class="doc-prev-next" aria-label="Previous and next pages">
21
- <div class="prev-next-grid">
22
- ${e?`<a href="${n(e.href)}" class="prev-next-link prev-link">
23
- <span class="prev-next-label">\u2190 Previous</span>
24
- <span class="prev-next-title">${n(e.label)}</span>
25
- </a>`:"<div></div>"}
26
- ${a?`<a href="${n(a.href)}" class="prev-next-link next-link">
27
- <span class="prev-next-label">Next \u2192</span>
28
- <span class="prev-next-title">${n(a.label)}</span>
29
- </a>`:"<div></div>"}
30
- </div>
31
- </nav>`}function f({currentHref:e,content:a,prev:l=null,next:t=null}){return`
32
- <div class="sidebar-overlay" aria-hidden="true"></div>
33
- ${c(e)}
34
- <div class="docs-main">
35
- <header class="docs-header">
36
- <button class="mobile-menu-btn" aria-label="Toggle navigation menu" aria-expanded="false" aria-controls="docs-sidebar">
37
- <svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
38
- <path fill-rule="evenodd" d="M2 4.75A.75.75 0 012.75 4h14.5a.75.75 0 010 1.5H2.75A.75.75 0 012 4.75zm0 10.5a.75.75 0 01.75-.75h14.5a.75.75 0 010 1.5H2.75a.75.75 0 01-.75-.75zM2 10a.75.75 0 01.75-.75h14.5a.75.75 0 010 1.5H2.75A.75.75 0 012 10z" clip-rule="evenodd"/>
39
- </svg>
40
- </button>
41
- <a href="/" class="header-logo-mobile" aria-label="Pulse home">
42
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true">
43
- <path d="M13 2L4.5 13.5H11L10 22L19.5 10.5H13L13 2Z" fill="var(--accent)" stroke="var(--accent)" stroke-width="1" stroke-linejoin="round"/>
44
- </svg>
45
- </a>
46
- <a href="https://github.com/invisibleloop/pulse" class="header-github" aria-label="View on GitHub" target="_blank" rel="noopener noreferrer">
47
- <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
48
- <path d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"/>
49
- </svg>
50
- GitHub
51
- </a>
52
- </header>
53
- <main class="docs-content">
54
- ${a}
55
- ${h(l,t)}
56
- </main>
57
- </div>
58
- <script src="/menu.js"><\/script>
59
- <script src="/pulse-ui.js"><\/script>`}function m(e){return`<h1 class="doc-h1">${n(e)}</h1>`}function u(e){return`<p class="doc-lead">${e}</p>`}function v(e,a){return`<h2 class="doc-h2" id="${n(e)}"><a href="#${n(e)}" class="heading-anchor">${n(a)}</a></h2>`}function g(e,a){let l=a??e;return`<h3 class="doc-h3" id="${n(e)}"><a href="#${n(e)}" class="heading-anchor">${n(l)}</a></h3>`}function x(e,a=""){return`${a?`<div class="code-filename">${n(a)}</div>`:""}<pre class="code-block"><code>${e}</code></pre>`}function $(e,a){let l=e.map(r=>`<th>${r}</th>`).join(""),t=a.map(r=>`<tr>${r.map(o=>`<td>${o}</td>`).join("")}</tr>`).join("");return`<div class="table-wrap"><table><thead><tr>${l}</tr></thead><tbody>${t}</tbody></table></div>`}function S(e,a){let l={note:"\u2139",warning:"\u26A0",tip:"\u2726"};return`<div class="callout callout-${n(e)}"><span class="callout-icon" aria-hidden="true">${l[e]||"\u2139"}</span><div class="callout-body">${a}</div></div>`}export{p as a,f as b,m as c,u as d,v as e,g as f,x as g,$ as h,S as i};
@@ -1,5 +0,0 @@
1
- var k=new Set(["export","default","import","from","as","async","await","const","let","var","return","if","else","for","while","of","in","true","false","null","undefined","function","class","new","this","typeof","instanceof","try","catch","finally","throw"]);function r(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function h(n,i){return`<span class="${n}">${r(i)}</span>`}function p(n,i="js"){return i==="bash"?g(n):i==="html"?w(n):c(n)}function c(n){let i="",t=0,l=n.length;for(;t<l;){let s=n[t],u=n[t+1];if(s==="/"&&u==="/"){let e=n.indexOf(`
2
- `,t),f=e===-1?n.slice(t):n.slice(t,e);i+=h("tok-cmt",f),t+=f.length;continue}if(s==="/"&&u==="*"){let e=n.indexOf("*/",t+2),f=e===-1?n.slice(t):n.slice(t,e+2);i+=h("tok-cmt",f),t+=f.length;continue}if(s==="`"){let e="`";t++;let f=0;for(;t<l;){if(n[t]==="\\"){e+=n[t]+(n[t+1]||""),t+=2;continue}if(n[t]==="$"&&n[t+1]==="{"){e+="${",t+=2,f++;continue}if(n[t]==="}"&&f>0){e+="}",t++,f--;continue}if(n[t]==="`"&&f===0){e+="`",t++;break}e+=n[t++]}i+=h("tok-str",e);continue}if(s==='"'||s==="'"){let e=s;for(t++;t<l&&n[t]!==s&&n[t]!==`
3
- `;){if(n[t]==="\\"){e+=n[t]+(n[t+1]||""),t+=2;continue}e+=n[t++]}t<l&&n[t]===s&&(e+=n[t++]),i+=h("tok-str",e);continue}if(/\d/.test(s)&&(t===0||!/\w/.test(n[t-1]))){let e="";for(;t<l&&/[\d.xXa-fA-F]/.test(n[t]);)e+=n[t++];i+=h("tok-num",e);continue}if(/[a-zA-Z_$]/.test(s)){let e="";for(;t<l&&/[\w$]/.test(n[t]);)e+=n[t++];if(k.has(e))i+=h("tok-kw",e);else{let f=t;for(;f<l&&n[f]===" ";)f++;n[f]==="("?i+=h("tok-fn",e):i+=r(e)}continue}if(/[=!<>|&?.]/.test(s)){let e=s;/[=!<>|&?]/.test(s)&&/[=|&>?]/.test(u)&&(e=n.slice(t,t+2),n[t+2]==="="&&(e=n.slice(t,t+3))),i+=h("tok-op",e),t+=e.length;continue}if(/[{}()[\],;:]/.test(s)){i+=h("tok-punct",s),t++;continue}i+=r(s),t++}return i}function g(n){return n.split(`
4
- `).map(i=>{if(/^\s*#/.test(i))return h("tok-cmt",i);let t="",l=0;for(;l<i.length;){if(i[l]==="#"){t+=h("tok-cmt",i.slice(l));break}if(i[l]==='"'||i[l]==="'"){let s=i[l],u=s;for(l++;l<i.length&&i[l]!==s;)u+=i[l++];u+=i[l]===s?i[l++]:"",t+=h("tok-str",u);continue}if(i[l]==="-"&&/\w/.test(i[l+1]||"")){let s="-";for(l++;l<i.length&&/[-\w]/.test(i[l]);)s+=i[l++];t+=h("tok-op",s);continue}t+=r(i[l++])}return t}).join(`
5
- `)}function w(n){let i="",t=0,l=n.length;for(;t<l;){if(n.slice(t,t+4)==="<!--"){let s=n.indexOf("-->",t+4),u=s===-1?n.slice(t):n.slice(t,s+3);i+=h("tok-cmt",u),t+=u.length;continue}if(n[t]==="<"){let s=n.indexOf(">",t);if(s===-1){i+=r(n[t++]);continue}let e=n.slice(t,s+1).replace(/^(<\/?)([\w-]+)/,(f,o,a)=>r(o)+h("tok-kw",a)).replace(/([\w-]+)(=)/g,(f,o,a)=>h("tok-fn",o)+r(a)).replace(/("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/g,(f,o)=>h("tok-str",o));i+=e,t=s+1;continue}i+=r(n[t++])}return i}export{p as a};
@@ -1,375 +0,0 @@
1
- import{a as e}from"./runtime-VMJA3Z4N.js";var wt=new Set(["primary","secondary","ghost","danger"]),Mt=new Set(["sm","md","lg"]);function R({label:t="",variant:i="primary",size:s="md",href:o,disabled:n=!1,type:a="button",icon:r="",iconAfter:l="",fullWidth:c=!1,class:d="",attrs:$={}}={}){wt.has(i)||(i="primary"),Mt.has(s)||(s="md");let f=["ui-btn",`ui-btn--${i}`,`ui-btn--${s}`,c?"ui-btn--full":"",n?"ui-btn--disabled":"",d].filter(Boolean).join(" "),m=[r?`<span class="ui-btn-icon" aria-hidden="true">${r}</span>`:"",`<span>${e(t)}</span>`,l?`<span class="ui-btn-icon ui-btn-icon--after" aria-hidden="true">${l}</span>`:""].join("");if(o)return`<a href="${e(o)}" class="${e(f)}"${n?' aria-disabled="true" tabindex="-1"':""}>${m}</a>`;let h=Object.entries($).map(([x,g])=>` ${e(x)}="${e(String(g))}"`).join("");return`<button type="${e(a)}" class="${e(f)}"${n?' disabled aria-disabled="true"':""}${h}>${m}</button>`}var Ht=new Set(["default","success","warning","error","info"]);function St({label:t="",variant:i="default",class:s=""}={}){Ht.has(i)||(i="default");let o=["ui-badge",`ui-badge--${i}`,s].filter(Boolean).join(" ");return`<span class="${e(o)}">${e(t)}</span>`}function jt({title:t="",level:i=3,content:s="",footer:o="",flush:n=!1,class:a=""}={}){let r=["ui-card",n?"ui-card--flush":"",a].filter(Boolean).join(" "),l=`h${Math.min(Math.max(Math.floor(i),1),6)}`,c=t?`<div class="ui-card-header"><${l} class="ui-card-title">${e(t)}</${l}></div>`:"",d=o?`<div class="ui-card-footer">${o}</div>`:"";return`<div class="${e(r)}">${c}<div class="ui-card-body">${s}</div>${d}</div>`}function Ct({name:t="",label:i="",type:s="text",placeholder:o="",value:n="",error:a="",hint:r="",required:l=!1,disabled:c=!1,id:d="",class:$="",attrs:f={}}={}){let m=e(d||`field-${t}`),h=`${m}-error`,x=`${m}-hint`,g=[a?h:"",r?x:""].filter(Boolean).join(" "),y=["ui-field",a?"ui-field--error":"",$].filter(Boolean).join(" "),M=Object.entries(f).map(([j,k])=>` ${e(j)}="${e(String(k))}"`).join(""),v=i?`<label for="${m}" class="ui-label">${e(i)}${l?' <span class="ui-required" aria-hidden="true">*</span>':""}</label>`:"",S=r?`<p id="${x}" class="ui-hint">${e(r)}</p>`:"",H=a?`<p id="${h}" class="ui-error" role="alert">${e(a)}</p>`:"";return`<div class="${e(y)}">
2
- ${v}
3
- <input
4
- id="${m}"
5
- name="${e(t)}"
6
- type="${e(s)}"
7
- class="ui-input"
8
- ${o?`placeholder="${e(o)}"`:""}
9
- ${n?`value="${e(n)}"`:""}
10
- ${l?'required aria-required="true"':""}
11
- ${c?"disabled":""}
12
- ${g?`aria-describedby="${g}"`:""}
13
- ${a?'aria-invalid="true"':""}
14
- ${M}
15
- >
16
- ${S}
17
- ${H}
18
- </div>`}var Bt=new Set(["circle","square"]),kt=new Set(["accent","success","warning","error","muted"]);function U(t,{bg:i,bgColor:s,cls:o}){if(!i||!Bt.has(i))return o?t.replace("<svg ",`<svg class="${o}" `):t;let n=kt.has(s)?s:"accent";return`<span class="${["ui-icon-wrap",`ui-icon-wrap--${i}`,`ui-icon-wrap--${n}`,o].filter(Boolean).join(" ")}">${t}</span>`}function p(t,i){let s=`<svg width="${i.size}" height="${i.size}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${t}</svg>`;return U(s,i)}function nt(t,i){let s=`<svg width="${i.size}" height="${i.size}" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">${t}</svg>`;return U(s,i)}function E(t,i){let s=`<svg width="${i.size}" height="${i.size}" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true">${t}</svg>`;return U(s,i)}function u(t={}){return{size:t.size??16,cls:t.class??"",bg:t.bg??"",bgColor:t.bgColor??"accent"}}var At=t=>p('<path d="M19 12H5M12 19l-7-7 7-7"/>',u(t)),It=t=>p('<path d="M5 12h14M12 5l7 7-7 7"/>',u(t)),Lt=t=>p('<path d="M12 19V5M5 12l7-7 7 7"/>',u(t)),zt=t=>p('<path d="M12 5v14M19 12l-7 7-7-7"/>',u(t)),D=t=>p('<polyline points="15 18 9 12 15 6"/>',u(t)),q=t=>p('<polyline points="9 18 15 12 9 6"/>',u(t)),Pt=t=>p('<polyline points="18 15 12 9 6 15"/>',u(t)),_=t=>p('<polyline points="6 9 12 15 18 9"/>',u(t)),Nt=t=>p('<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/>',u(t)),Z=t=>p('<line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="18" x2="21" y2="18"/>',u(t)),z=t=>p('<line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/>',u(t)),Vt=t=>p('<circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/>',u(t)),Tt=t=>p('<circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/>',u(t)),F=t=>p('<polyline points="20 6 9 17 4 12"/>',u(t)),X=t=>p('<path d="M22 11.08V12a10 10 0 11-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/>',u(t)),W=t=>p('<circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/>',u(t)),Et=t=>p('<circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/>',u(t)),Y=t=>p('<path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/>',u(t)),K=t=>p('<circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/>',u(t)),Gt=t=>p('<line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/>',u(t)),J=t=>p('<line x1="5" y1="12" x2="19" y2="12"/>',u(t)),Ot=t=>p('<path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/>',u(t)),Rt=t=>p('<polyline points="3 6 5 6 21 6"/><path d="M19 6l-1 14a2 2 0 01-2 2H8a2 2 0 01-2-2L5 6"/><path d="M10 11v6M14 11v6"/><path d="M9 6V4a1 1 0 011-1h4a1 1 0 011 1v2"/>',u(t)),Ut=t=>p('<rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/>',u(t)),Q=t=>p('<circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/>',u(t)),Dt=t=>p('<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"/>',u(t)),qt=t=>p('<path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/>',u(t)),tt=t=>p('<path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/>',u(t)),_t=t=>p('<polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/>',u(t)),Zt=t=>p('<line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/>',u(t)),Ft=t=>p('<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/>',u(t)),Xt=t=>p('<path d="M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24"/><line x1="1" y1="1" x2="23" y2="23"/>',u(t)),Wt=t=>p('<rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0110 0v4"/>',u(t)),Yt=t=>p('<rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 019.9-1"/>',u(t)),Kt=t=>p('<circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.68a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06A1.65 1.65 0 0019.4 9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z"/>',u(t)),Jt=t=>p('<path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 01-3.46 0"/>',u(t)),Qt=t=>p('<path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/>',u(t)),te=t=>p('<path d="M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 00-3-3.87"/><path d="M16 3.13a4 4 0 010 7.75"/>',u(t)),ee=t=>p('<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22 6 12 13 2 6"/>',u(t)),ie=t=>p('<path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/>',u(t)),se=t=>p('<path d="M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/>',u(t)),oe=t=>p('<path d="M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/>',u(t)),ne=t=>p('<path d="M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4"/><polyline points="10 17 15 12 10 7"/><line x1="15" y1="12" x2="3" y2="12"/>',u(t)),ae=t=>p('<path d="M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9z"/><polyline points="13 2 13 9 20 9"/>',u(t)),re=t=>p('<rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/>',u(t)),le=t=>p('<path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"/>',u(t)),ce=t=>p('<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',u(t)),de=t=>p('<rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/>',u(t)),ue=t=>p('<circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/>',u(t)),pe=t=>p('<path d="M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2z"/>',u(t)),$e=t=>p('<path d="M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z"/><line x1="7" y1="7" x2="7.01" y2="7"/>',u(t)),me=t=>nt('<polygon points="5 3 19 12 5 21 5 3"/>',u(t)),fe=t=>p('<rect x="6" y="4" width="4" height="16"/><rect x="14" y="4" width="4" height="16"/>',u(t)),he=t=>p('<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><path d="M19.07 4.93a10 10 0 010 14.14M15.54 8.46a5 5 0 010 7.07"/>',u(t)),xe=t=>nt('<path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/>',u(t)),ge=t=>p('<path d="M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z"/>',u(t)),ve=t=>p('<rect x="5" y="2" width="14" height="20" rx="2"/><line x1="12" y1="18" x2="12.01" y2="18"/>',u(t)),be=t=>p('<line x1="6" x2="10" y1="11" y2="11"/><line x1="8" x2="8" y1="9" y2="13"/><line x1="15" x2="15.01" y1="12" y2="12"/><line x1="18" x2="18.01" y1="10" y2="10"/><path d="M17.32 5H6.68a4 4 0 00-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 003 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 019.828 16h4.344a2 2 0 011.414.586L17 18c.5.5 1 1 2 1a3 3 0 003-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0017.32 5z"/>',u(t)),G="M196,88a27.86,27.86,0,0,0-13.35,3.39A28,28,0,0,0,144,74.7V44a28,28,0,0,0-56,0v80l-3.82-6.13A28,28,0,0,0,35.73,146l4.67,8.23C74.81,214.89,89.05,240,136,240a88.1,88.1,0,0,0,88-88V116A28,28,0,0,0,196,88Zm12,64a72.08,72.08,0,0,1-72,72c-37.63,0-47.84-18-81.68-77.68l-4.69-8.27,0-.05A12,12,0,0,1,54,121.61a11.88,11.88,0,0,1,6-1.6,12,12,0,0,1,10.41,6,1.76,1.76,0,0,0,.14.23l18.67,30A8,8,0,0,0,104,152V44a12,12,0,0,1,24,0v68a8,8,0,0,0,16,0V100a12,12,0,0,1,24,0v20a8,8,0,0,0,16,0v-4a12,12,0,0,1,24,0Z",ye=t=>E(`<g transform="matrix(-1 0 0 1 256 0)"><path d="${G}"/></g>`,u(t)),we=t=>E(`<g transform="rotate(180,128,128)"><path d="${G}"/></g>`,u(t)),Me=t=>E(`<g transform="matrix(1 0 0 -1 0 256) rotate(270,128,128)"><path d="${G}"/></g>`,u(t)),He=t=>E(`<g transform="rotate(90,128,128)"><path d="${G}"/></g>`,u(t)),Se=t=>p('<circle cx="12" cy="12" r="4"/><line x1="12" y1="2" x2="12" y2="6"/><line x1="12" y1="18" x2="12" y2="22"/><line x1="4.93" y1="4.93" x2="7.76" y2="7.76"/><line x1="16.24" y1="16.24" x2="19.07" y2="19.07"/><line x1="2" y1="12" x2="6" y2="12"/><line x1="18" y1="12" x2="22" y2="12"/><line x1="4.93" y1="19.07" x2="7.76" y2="16.24"/><line x1="16.24" y1="7.76" x2="19.07" y2="4.93"/>',u(t)),je=t=>p('<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/>',u(t)),Ce=t=>p('<circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"/>',u(t)),Be=t=>p('<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>',u(t)),ke=t=>p('<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>',u(t)),et=t=>p('<polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/>',u(t)),it=t=>p('<polyline points="23 18 13.5 8.5 8.5 13.5 1 6"/><polyline points="17 18 23 18 23 12"/>',u(t)),Ae=t=>p('<line x1="12" y1="2" x2="12" y2="6"/><line x1="12" y1="18" x2="12" y2="22"/><line x1="4.93" y1="4.93" x2="7.76" y2="7.76"/><line x1="16.24" y1="16.24" x2="19.07" y2="19.07"/><line x1="2" y1="12" x2="6" y2="12"/><line x1="18" y1="12" x2="22" y2="12"/><line x1="4.93" y1="19.07" x2="7.76" y2="16.24"/><line x1="16.24" y1="7.76" x2="19.07" y2="4.93"/>',u(t)),Ie=t=>p('<rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/>',u(t)),Le=t=>p('<rect x="8" y="6" width="8" height="14" rx="4"/><path d="m19 7-3 2"/><path d="m5 7 3 2"/><path d="m19 19-3-2"/><path d="m5 19 3-2"/><path d="M20 13h-4"/><path d="M4 13h4"/><path d="m10 4 1 2"/><path d="m14 4-1 2"/>',u(t)),ze=t=>p('<path d="M20 10c0 6-8 13-8 13s-8-7-8-13a8 8 0 0 1 16 0Z"/><circle cx="12" cy="10" r="3"/>',u(t));function Pe({name:t="",label:i="",labelHidden:s=!1,placeholder:o="",value:n="",event:a="",debounce:r=200,clearEvent:l="",disabled:c=!1,id:d="",class:$="",attrs:f={}}={}){let m=e(d||`field-${t}`),h=["ui-field","ui-search",$].filter(Boolean).join(" "),x=["ui-label",s?"ui-sr-only":""].filter(Boolean).join(" "),g=i?`<label for="${m}" class="${x}">${e(i)}</label>`:"",y=Object.entries(f).map(([v,S])=>` ${e(v)}="${e(String(S))}"`).join(""),M=l&&n?`<button class="ui-search-clear" data-event="${e(l)}" type="button" aria-label="Clear search">${z({size:14})}</button>`:"";return`<div class="${e(h)}">
19
- ${g}
20
- <div class="ui-search-wrap">
21
- <span class="ui-search-icon" aria-hidden="true">${Q({size:16})}</span>
22
- <input
23
- id="${m}"
24
- name="${e(t)}"
25
- type="search"
26
- class="ui-search-input"
27
- ${o?`placeholder="${e(o)}"`:""}
28
- ${n?`value="${e(n)}"`:""}
29
- ${c?"disabled":""}
30
- ${a?`data-event="${e(a)}"`:""}
31
- ${a&&r>0?`data-debounce="${r}"`:""}
32
- ${y}
33
- >
34
- ${M}
35
- </div>
36
- </div>`}var Ne=new Set(["xs","sm","md","lg"]);function Ve({legend:t="",content:i="",gap:s="md",class:o=""}={}){Ne.has(s)||(s="md");let n=["ui-fieldset",s!=="md"&&`ui-fieldset--gap-${s}`,o].filter(Boolean).join(" ");return`<fieldset class="${e(n)}">
37
- ${t?`<legend class="ui-fieldset-legend">${e(t)}</legend>`:""}
38
- <div class="ui-fieldset-body">${i}</div>
39
- </fieldset>`}function Te({name:t="",label:i="",options:s=[],value:o="",error:n="",hint:a="",required:r=!1,disabled:l=!1,id:c="",event:d="",class:$=""}={}){let f=e(c||`field-${t}`),m=`${f}-error`,h=`${f}-hint`,x=[n?m:"",a?h:""].filter(Boolean).join(" "),g=["ui-field",n?"ui-field--error":"",$].filter(Boolean).join(" "),y=i?`<label for="${f}" class="ui-label">${e(i)}${r?' <span class="ui-required" aria-hidden="true">*</span>':""}</label>`:"",M=s.map(j=>{let k=typeof j=="string"?j:j.value,L=typeof j=="string"?j:j.label;return`<option value="${e(k)}"${k===o?" selected":""}>${e(L)}</option>`}).join(""),v=_({size:12}),S=a?`<p id="${h}" class="ui-hint">${e(a)}</p>`:"",H=n?`<p id="${m}" class="ui-error" role="alert">${e(n)}</p>`:"";return`<div class="${e(g)}">
40
- ${y}
41
- <div class="ui-select-wrap">
42
- <select
43
- id="${f}"
44
- name="${e(t)}"
45
- class="ui-select"
46
- ${r?'required aria-required="true"':""}
47
- ${l?"disabled":""}
48
- ${d?`data-event="${e(d)}"`:""}
49
- ${x?`aria-describedby="${x}"`:""}
50
- ${n?'aria-invalid="true"':""}
51
- >${M}</select>
52
- <span class="ui-select-chevron" aria-hidden="true">${v}</span>
53
- </div>
54
- ${S}
55
- ${H}
56
- </div>`}function Ee({name:t="",label:i="",placeholder:s="",value:o="",rows:n=4,error:a="",hint:r="",required:l=!1,disabled:c=!1,id:d="",class:$="",attrs:f={}}={}){let m=e(d||`field-${t}`),h=`${m}-error`,x=`${m}-hint`,g=[a?h:"",r?x:""].filter(Boolean).join(" "),y=["ui-field",a?"ui-field--error":"",$].filter(Boolean).join(" "),M=Object.entries(f).map(([j,k])=>` ${e(j)}="${e(String(k))}"`).join(""),v=i?`<label for="${m}" class="ui-label">${e(i)}${l?' <span class="ui-required" aria-hidden="true">*</span>':""}</label>`:"",S=r?`<p id="${x}" class="ui-hint">${e(r)}</p>`:"",H=a?`<p id="${h}" class="ui-error" role="alert">${e(a)}</p>`:"";return`<div class="${e(y)}">
57
- ${v}
58
- <textarea
59
- id="${m}"
60
- name="${e(t)}"
61
- class="ui-textarea"
62
- rows="${Number(n)||4}"
63
- ${s?`placeholder="${e(s)}"`:""}
64
- ${l?'required aria-required="true"':""}
65
- ${c?"disabled":""}
66
- ${g?`aria-describedby="${g}"`:""}
67
- ${a?'aria-invalid="true"':""}
68
- ${M}
69
- >${e(o)}</textarea>
70
- ${S}
71
- ${H}
72
- </div>`}var Ge=new Set(["info","success","warning","error"]),Oe={info:K({size:18}),success:X({size:18}),warning:Y({size:18}),error:W({size:18})};function Re({variant:t="info",title:i="",content:s="",class:o=""}={}){Ge.has(t)||(t="info");let n=t==="error"||t==="warning"?"alert":"status",a=["ui-alert",`ui-alert--${t}`,o].filter(Boolean).join(" "),r=i?`<strong class="ui-alert-title">${e(i)}</strong> `:"";return`<div class="${e(a)}" role="${n}">
73
- <span class="ui-alert-icon">${Oe[t]}</span>
74
- <div class="ui-alert-body">${r}${s}</div>
75
- </div>`}var Ue=new Set(["up","down","neutral"]),De={up:et({size:13}),down:it({size:13}),neutral:J({size:13})},qe={up:"increase",down:"decrease",neutral:"no change"};function _e({label:t="",value:i="",change:s="",trend:o="neutral",center:n=!1,class:a=""}={}){Ue.has(o)||(o="neutral");let r=["ui-stat",n&&"ui-stat--center",a].filter(Boolean).join(" "),l=s?`<p class="ui-stat-change ui-stat-change--${e(o)}">
76
- <span aria-label="${e(qe[o])}">${De[o]}</span>
77
- ${e(s)}
78
- </p>`:"";return`<div class="${e(r)}">
79
- <p class="ui-stat-label">${e(t)}</p>
80
- <p class="ui-stat-value">${e(i)}</p>
81
- ${l}
82
- </div>`}var Ze=new Set(["sm","md","lg","xl"]);function Fe(t){return(t||"").trim().split(/\s+/).map(i=>i[0]||"").join("").slice(0,2).toUpperCase()||"?"}function Xe({src:t="",alt:i="",size:s="md",initials:o="",class:n=""}={}){Ze.has(s)||(s="md");let a=["ui-avatar",`ui-avatar--${s}`,n].filter(Boolean).join(" ");if(t)return`<img src="${e(t)}" alt="${e(i)}" class="${e(a)}" width="40" height="40" loading="lazy" decoding="async">`;let r=o||Fe(i);return`<span class="${e(a)}" aria-label="${e(i||"Avatar")}" role="img">${e(r)}</span>`}function We({title:t="Nothing here yet",description:i="",action:s=null,class:o=""}={}){let n=["ui-empty",o].filter(Boolean).join(" "),a=s?R({label:s.label,href:s.href,variant:s.variant||"secondary"}):"";return`<div class="${e(n)}">
83
- <p class="ui-empty-title">${e(t)}</p>
84
- ${i?`<p class="ui-empty-desc">${e(i)}</p>`:""}
85
- ${a}
86
- </div>`}function Ye({headers:t=[],rows:i=[],caption:s="",class:o=""}={}){let n=["ui-table-wrap",o].filter(Boolean).join(" "),a=s?`<caption class="ui-table-caption">${e(s)}</caption>`:"",r=t.map(c=>`<th scope="col">${e(c)}</th>`).join(""),l=i.map(c=>`<tr>${c.map(d=>`<td>${d}</td>`).join("")}</tr>`).join("");return`<div class="${e(n)}" role="region" aria-label="${e(s||"Table")}" tabindex="0">
87
- <table class="ui-table">
88
- ${a}
89
- <thead><tr>${r}</tr></thead>
90
- <tbody>${l}</tbody>
91
- </table>
92
- </div>`}function Ke({eyebrow:t="",title:i="",subtitle:s="",actions:o="",align:n="center",size:a="md",class:r=""}={}){let l=["ui-hero",n==="left"&&"ui-hero--left",a==="sm"&&"ui-hero--sm",r].filter(Boolean).join(" ");return`<section class="${e(l)}">
93
- <div class="ui-hero-inner">
94
- ${t?`<p class="ui-hero-eyebrow">${e(t)}</p>`:""}
95
- ${i?`<h1 class="ui-hero-title">${e(i)}</h1>`:""}
96
- ${s?`<p class="ui-hero-subtitle">${e(s)}</p>`:""}
97
- ${o?`<div class="ui-hero-actions">${o}</div>`:""}
98
- </div>
99
- </section>`}function Je({quote:t="",name:i="",role:s="",src:o="",rating:n=0,class:a=""}={}){let r=["ui-testimonial",a].filter(Boolean).join(" "),l=n>0?`<p class="ui-testimonial-rating" aria-label="${Math.round(n)} out of 5 stars">${"\u2605".repeat(Math.min(5,Math.max(1,Math.round(n))))}</p>`:"",c=i.split(" ").map($=>$[0]).join("").slice(0,2).toUpperCase(),d=o?`<img src="${e(o)}" alt="${e(i)}" class="ui-testimonial-avatar" loading="lazy" width="40" height="40">`:`<div class="ui-testimonial-avatar ui-testimonial-avatar--initials" aria-hidden="true">${e(c)}</div>`;return`<figure class="${e(r)}">
100
- ${l}
101
- <blockquote class="ui-testimonial-quote"><p>${e(t)}</p></blockquote>
102
- <figcaption class="ui-testimonial-author">
103
- ${d}
104
- <div class="ui-testimonial-meta">
105
- <p class="ui-testimonial-name">${e(i)}</p>
106
- ${s?`<p class="ui-testimonial-role">${e(s)}</p>`:""}
107
- </div>
108
- </figcaption>
109
- </figure>`}function Qe({icon:t="",title:i="",level:s=3,description:o="",center:n=!1,class:a=""}={}){let r=["ui-feature",n&&"ui-feature--center",a].filter(Boolean).join(" "),l=`h${Math.min(Math.max(Math.floor(s),1),6)}`;return`<div class="${e(r)}">
110
- ${t?`<div class="ui-feature-icon" aria-hidden="true">${t}</div>`:""}
111
- ${i?`<${l} class="ui-feature-title">${e(i)}</${l}>`:""}
112
- ${o?`<p class="ui-feature-desc">${e(o)}</p>`:""}
113
- </div>`}function ti({name:t="",level:i=3,price:s="",period:o="",description:n="",features:a=[],action:r="",highlighted:l=!1,badge:c="",class:d=""}={}){let $=["ui-pricing",l&&"ui-pricing--highlighted",d].filter(Boolean).join(" "),f=`h${Math.min(Math.max(Math.floor(i),1),6)}`,m=a.length?`<ul class="ui-pricing-features">
114
- ${a.map(h=>`<li class="ui-pricing-feature"><span class="ui-pricing-check" aria-hidden="true">\u2713</span>${e(h)}</li>`).join(`
115
- `)}
116
- </ul>`:"";return`<div class="${e($)}">
117
- ${c?`<p class="ui-pricing-badge">${e(c)}</p>`:""}
118
- <div class="ui-pricing-header">
119
- ${t?`<${f} class="ui-pricing-name">${e(t)}</${f}>`:""}
120
- ${n?`<p class="ui-pricing-desc">${e(n)}</p>`:""}
121
- </div>
122
- <div class="ui-pricing-price">
123
- <span class="ui-pricing-amount">${e(s)}</span>
124
- ${o?`<span class="ui-pricing-period">${e(o)}</span>`:""}
125
- </div>
126
- ${m}
127
- ${r?`<div class="ui-pricing-action">${r}</div>`:""}
128
- </div>`}function ei({items:t=[],class:i=""}={}){let s=["ui-accordion",i].filter(Boolean).join(" "),o=t.map(({question:n="",answer:a=""})=>`<details class="ui-accordion-item">
129
- <summary class="ui-accordion-summary">
130
- <span>${e(n)}</span>
131
- <span class="ui-accordion-icon" aria-hidden="true"></span>
132
- </summary>
133
- <div class="ui-accordion-body"><p>${e(a)}</p></div>
134
- </details>`).join(`
135
- `);return`<div class="${e(s)}">${o}</div>`}var ii=0;function si({logo:t="",logoHref:i="/",links:s=[],action:o="",sticky:n=!1,burgerAlign:a="right",class:r=""}={}){let l=`ui-nav-${++ii}`,c=["ui-nav",n&&"ui-nav--sticky",a==="left"&&"ui-nav--burger-left",r].filter(Boolean).join(" "),d=s.map(({label:m="",href:h=""})=>`<a href="${e(h)}" class="ui-nav-link">${e(m)}</a>`).join(""),$=s.length?`
136
- <button class="ui-nav-burger" type="button" aria-label="Toggle menu" aria-expanded="false" aria-controls="${l}-mobile">
137
- ${Z({size:20,class:"ui-nav-burger-open"})}
138
- ${z({size:20,class:"ui-nav-burger-close"})}
139
- </button>`:"",f=s.length?`
140
- <div class="ui-nav-mobile" id="${l}-mobile" aria-label="Mobile navigation">
141
- <nav>${d}</nav>
142
- </div>`:"";return`<header class="${e(c)}">
143
- <div class="ui-nav-inner">
144
- <a href="${e(i)}" class="ui-nav-logo">${t}</a>
145
- ${s.length?`<nav class="ui-nav-links" aria-label="Site navigation">${d}</nav>`:""}
146
- ${o?`<div class="ui-nav-action">${o}</div>`:""}${$}
147
- </div>${f}
148
- </header>`}var oi='<svg width="18" height="22" viewBox="0 0 814 1000" fill="currentColor" aria-hidden="true"><path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76 0-103.7 40.8-165.9 40.8s-105-37.2-148.8-97.2C67.6 772.6 20.4 678.3 20.4 588.3c0-154.8 100.9-236.7 199.6-236.7 74.7 0 136.8 47.4 183.1 47.4 44.4 0 113.9-49.9 197-49.9zm-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3z"/></svg>',ni='<svg width="18" height="20" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true"><path d="M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l232.6-232.5L47 0zm425.6 225.6l-58.9-34-67.7 68.6 67.7 68.5 60.1-34.3c17.3-9.8 17.3-38.1-.2-48.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z"/></svg>',at={apple:{icon:oi,line1:"Download on the",line2:"App Store",label:"Download on the App Store"},google:{icon:ni,line1:"Get it on",line2:"Google Play",label:"Get it on Google Play"}};function ai({store:t="apple",href:i="#",class:s=""}={}){let o=at[t]??at.apple,n=["ui-app-badge",s].filter(Boolean).join(" ");return`<a href="${e(i)}" class="${e(n)}" aria-label="${e(o.label)}" target="_blank" rel="noopener noreferrer">
149
- ${o.icon}
150
- <span class="ui-app-badge-text">
151
- <span class="ui-app-badge-line1">${o.line1}</span>
152
- <span class="ui-app-badge-line2">${o.line2}</span>
153
- </span>
154
- </a>`}var ri=new Set(["sm","md","lg","xl"]);function li({content:t="",size:i="lg",class:s=""}={}){ri.has(i)||(i="lg");let o=["ui-container",`ui-container--${i}`,s].filter(Boolean).join(" ");return`<div class="${e(o)}">${t}</div>`}var ci=new Set(["default","alt","dark"]),di=new Set(["sm","md","lg"]),ui=new Set(["none","sm","md","lg"]);function pi({content:t="",variant:i="default",padding:s="md",gap:o="md",id:n="",eyebrow:a="",title:r="",level:l=2,subtitle:c="",align:d="left",class:$=""}={}){ci.has(i)||(i="default"),di.has(s)||(s="md"),ui.has(o)||(o="md");let f=["ui-section",i!=="default"&&`ui-section--${i}`,s!=="md"&&`ui-section--${s}`,$].filter(Boolean).join(" "),m=n?` id="${e(n)}"`:"",h=`h${Math.min(Math.max(Math.floor(l),1),6)}`,x=["ui-section-header",d==="center"&&"ui-section-header--center",o!=="md"&&`ui-section-header--gap-${o}`].filter(Boolean).join(" "),g=a||r||c?`
155
- <div class="${x}">
156
- ${a?`<p class="ui-section-eyebrow">${e(a)}</p>`:""}
157
- ${r?`<${h} class="ui-section-title">${e(r)}</${h}>`:""}
158
- ${c?`<p class="ui-section-subtitle">${e(c)}</p>`:""}
159
- </div>`:"";return`<section class="${e(f)}"${m}>${g}${t}</section>`}var $i=new Set([1,2,3,4]),mi=new Set(["sm","md","lg"]);function fi({content:t="",cols:i=3,gap:s="md",class:o=""}={}){$i.has(i)||(i=3),mi.has(s)||(s="md");let n=["ui-grid",`ui-grid--cols-${i}`,s!=="md"&&`ui-grid--gap-${s}`,o].filter(Boolean).join(" ");return`<div class="${e(n)}">${t}</div>`}var hi=new Set(["xs","sm","md","lg","xl"]),xi=new Set(["stretch","start","center","end"]);function gi({content:t="",gap:i="md",align:s="stretch",class:o=""}={}){hi.has(i)||(i="md"),xi.has(s)||(s="stretch");let n=["ui-stack",i!=="md"&&`ui-stack--gap-${i}`,s!=="stretch"&&`ui-stack--align-${s}`,o].filter(Boolean).join(" ");return`<div class="${e(n)}">${t}</div>`}var vi=new Set(["xs","sm","md","lg"]),bi=new Set(["start","center","end","between"]),yi=new Set(["start","center","end"]);function wi({content:t="",gap:i="md",justify:s="start",align:o="center",wrap:n=!0,class:a=""}={}){vi.has(i)||(i="md"),bi.has(s)||(s="start"),yi.has(o)||(o="center");let r=["ui-cluster",i!=="md"&&`ui-cluster--gap-${i}`,s!=="start"&&`ui-cluster--justify-${s}`,o!=="center"&&`ui-cluster--align-${o}`,!n&&"ui-cluster--nowrap",a].filter(Boolean).join(" ");return`<div class="${e(r)}">${t}</div>`}function Mi({label:t="",class:i=""}={}){let s=["ui-divider",t&&"ui-divider--label",i].filter(Boolean).join(" ");return t?`<div class="${e(s)}" role="separator" aria-label="${e(t)}">
160
- <span class="ui-divider-line" aria-hidden="true"></span>
161
- <span class="ui-divider-text">${e(t)}</span>
162
- <span class="ui-divider-line" aria-hidden="true"></span>
163
- </div>`:`<hr class="${e(s)}">`}var Hi=new Set(["info","promo","warning"]);function Si({content:t="",variant:i="info",class:s=""}={}){Hi.has(i)||(i="info");let o=["ui-banner",`ui-banner--${i}`,s].filter(Boolean).join(" ");return`<div class="${e(o)}" role="banner">${t}</div>`}var ji=new Set(["start","center"]),Ci=new Set(["sm","md","lg"]);function Bi({image:t="",content:i="",reverse:s=!1,align:o="center",gap:n="md",class:a=""}={}){ji.has(o)||(o="center"),Ci.has(n)||(n="md");let r=["ui-media",s&&"ui-media--reverse",o!=="center"&&`ui-media--align-${o}`,n!=="md"&&`ui-media--gap-${n}`,a].filter(Boolean).join(" ");return`<div class="${e(r)}">
164
- <div class="ui-media-image">${t}</div>
165
- <div class="ui-media-content">${i}</div>
166
- </div>`}var ki=new Set(["top","bottom","left","right"]);function Ai({content:t="",trigger:i="",position:s="top",class:o=""}={}){ki.has(s)||(s="top");let n=["ui-tooltip",`ui-tooltip--${s}`,o].filter(Boolean).join(" ");return`<span class="${e(n)}" data-tip="${e(t)}" aria-label="${e(t)}">${i}</span>`}var Ii=new Set(["sm","md","lg","xl"]);function Li({id:t="",title:i="",level:s=2,content:o="",footer:n="",size:a="md",class:r=""}={}){Ii.has(a)||(a="md");let l=["ui-modal",a!=="md"&&`ui-modal--${a}`,r].filter(Boolean).join(" "),c=`h${Math.min(Math.max(Math.floor(s),1),6)}`;return`<dialog class="${e(l)}"${t?` id="${e(t)}"`:""}${t?` aria-labelledby="${e(t)}-title"`:""}>
167
- <form method="dialog" class="ui-modal-inner">
168
- <header class="ui-modal-header">
169
- <${c} class="ui-modal-title"${t?` id="${e(t)}-title"`:""}>${e(i)}</${c}>
170
- <button type="submit" class="ui-modal-close" aria-label="Close dialog">
171
- ${z({size:16})}
172
- </button>
173
- </header>
174
- <div class="ui-modal-body">${o}</div>
175
- ${n?`<footer class="ui-modal-footer">${n}</footer>`:""}
176
- </form>
177
- </dialog>`}function zi({target:t="",label:i="Open",variant:s="primary",size:o="md",class:n=""}={}){let a=new Set(["primary","secondary","ghost","danger"]),r=new Set(["sm","md","lg"]);a.has(s)||(s="primary"),r.has(o)||(o="md");let l=["ui-btn",`ui-btn--${s}`,`ui-btn--${o}`,n].filter(Boolean).join(" ");return`<button type="button" class="${e(l)}" data-dialog-open="${e(t)}"><span>${e(i)}</span></button>`}var Pi=0;function Ni({slides:t=[],arrows:i=!0,dots:s=!0,class:o=""}={}){let n=`carousel-${++Pi}`,a=["ui-carousel",o].filter(Boolean).join(" "),r=t.map((d,$)=>{let f=`${n}-panel-${$+1}`,m=`${n}-tab-${$+1}`;return`<div class="ui-carousel-slide" id="${f}" role="tabpanel" aria-labelledby="${m}" tabindex="0">${d}</div>`}).join(`
178
- `),l=i?`
179
- <button class="ui-carousel-btn ui-carousel-prev" type="button" aria-label="Previous slide" hidden>
180
- ${D({size:16})}
181
- </button>
182
- <button class="ui-carousel-btn ui-carousel-next" type="button" aria-label="Next slide"${t.length<=1?" hidden":""}>
183
- ${q({size:16})}
184
- </button>`:"",c=s&&t.length>1?`
185
- <div class="ui-carousel-dots" role="tablist" aria-label="Slides">
186
- ${t.map((d,$)=>{let f=`${n}-tab-${$+1}`,m=`${n}-panel-${$+1}`,h=$===0;return`<button class="ui-carousel-dot${h?" active":""}" id="${f}" type="button" role="tab" aria-selected="${h}" aria-controls="${m}" tabindex="${h?"0":"-1"}" aria-label="Slide ${$+1}"></button>`}).join(`
187
- `)}
188
- </div>`:"";return`<div class="${e(a)}">
189
- <div class="ui-carousel-track">
190
- ${r}
191
- </div>${l}${c}
192
- </div>`}function Vi({eyebrow:t="",title:i="",level:s=2,subtitle:o="",actions:n="",align:a="center",class:r=""}={}){let l=["ui-cta",a==="left"&&"ui-cta--left",r].filter(Boolean).join(" "),c=`h${Math.min(Math.max(Math.floor(s),1),6)}`;return`<div class="${e(l)}">
193
- ${t?`<p class="ui-cta-eyebrow">${e(t)}</p>`:""}
194
- ${i?`<${c} class="ui-cta-title">${e(i)}</${c}>`:""}
195
- ${o?`<p class="ui-cta-subtitle">${e(o)}</p>`:""}
196
- ${n?`<div class="ui-cta-actions">${n}</div>`:""}
197
- </div>`}function Ti({logo:t="",logoHref:i="/",links:s=[],legal:o="",class:n=""}={}){let a=["ui-footer",n].filter(Boolean).join(" "),r=s.map(({label:l="",href:c=""})=>`<a href="${e(c)}" class="ui-footer-link">${e(l)}</a>`).join("");return`<footer class="${e(a)}">
198
- <div class="ui-footer-inner">
199
- ${t?`<a href="${e(i)}" class="ui-footer-logo">${t}</a>`:""}
200
- ${s.length?`<nav class="ui-footer-links" aria-label="Footer navigation">${r}</nav>`:""}
201
- ${o?`<p class="ui-footer-legal">${e(o)}</p>`:""}
202
- </div>
203
- </footer>`}var Ei=new Set(["accent","success","warning","error","muted"]);function rt({dot:t="",dotColor:i="accent",label:s="",content:o="",class:n=""}={}){Ei.has(i)||(i="accent");let a=["ui-timeline-dot",`ui-timeline-dot--${i}`,t?"ui-timeline-dot--icon":""].filter(Boolean).join(" "),r=s?`<span class="ui-timeline-label">${e(s)}</span>`:"";return`<li class="${["ui-timeline-item",n].filter(Boolean).join(" ")}">
204
- <div class="ui-timeline-side">
205
- <div class="ui-timeline-connector ui-timeline-connector--before"></div>
206
- <div class="${e(a)}" aria-hidden="true">${t}</div>
207
- <div class="ui-timeline-connector ui-timeline-connector--after"></div>
208
- </div>
209
- <div class="ui-timeline-main">
210
- ${r}
211
- <div class="ui-timeline-body">${o}</div>
212
- </div>
213
- </li>`}function Gi({direction:t="vertical",items:i=[],content:s="",class:o=""}={}){t!=="horizontal"&&(t="vertical");let n=["ui-timeline",`ui-timeline--${t}`,o].filter(Boolean).join(" "),a=s||i.map(r=>rt(r)).join("");return`<ol class="${e(n)}">${a}</ol>`}function Oi({name:t="",label:i="",checked:s=!1,disabled:o=!1,hint:n="",id:a="",event:r="",class:l=""}={}){let c=e(a||`field-${t}`),d=`${c}-hint`,$=["ui-switch",l].filter(Boolean).join(" "),f=n?`<p id="${d}" class="ui-hint">${e(n)}</p>`:"";return`<div class="${e($)}">
214
- <label class="ui-switch-label${o?" ui-switch-label--disabled":""}">
215
- <input
216
- type="checkbox"
217
- id="${c}"
218
- name="${e(t)}"
219
- class="ui-switch-input"
220
- ${s?"checked":""}
221
- ${o?"disabled":""}
222
- ${r?`data-event="${e(r)}"`:""}
223
- ${n?`aria-describedby="${d}"`:""}
224
- >
225
- <span class="ui-switch-track" aria-hidden="true">
226
- <span class="ui-switch-thumb"></span>
227
- </span>
228
- ${i?`<span class="ui-switch-text">${e(i)}</span>`:""}
229
- </label>
230
- ${f}
231
- </div>`}function Ri({name:t="",value:i="",label:s="",labelHtml:o="",checked:n=!1,disabled:a=!1,id:r="",event:l="",hint:c="",error:d="",class:$=""}={}){let f=e(r||["checkbox",t,i].filter(Boolean).join("-")),m=["ui-checkbox",a?"ui-checkbox--disabled":"",d?"ui-checkbox--error":"",$].filter(Boolean).join(" "),h=o||(s?`<span class="ui-checkbox-label">${e(s)}</span>`:"");return`<label class="${e(m)}">
232
- <input
233
- type="checkbox"
234
- id="${f}"
235
- ${t?`name="${e(t)}"`:""}
236
- ${i?`value="${e(i)}"`:""}
237
- class="ui-checkbox-input"
238
- ${n?"checked":""}
239
- ${a?"disabled":""}
240
- ${l?`data-event="${e(l)}"`:""}
241
- >
242
- <span class="ui-checkbox-box" aria-hidden="true"></span>
243
- ${h}
244
- ${c?`<p class="ui-hint">${e(c)}</p>`:""}
245
- ${d?`<p class="ui-error" role="alert">${e(d)}</p>`:""}
246
- </label>`}function ct({name:t="",value:i="",label:s="",checked:o=!1,disabled:n=!1,id:a="",event:r="",class:l=""}={}){let c=e(a||`radio-${t}-${i}`),d=["ui-radio",l].filter(Boolean).join(" ");return`<label class="${e(d)}${n?" ui-radio--disabled":""}">
247
- <input
248
- type="radio"
249
- id="${c}"
250
- name="${e(t)}"
251
- value="${e(i)}"
252
- class="ui-radio-input"
253
- ${o?"checked":""}
254
- ${n?"disabled":""}
255
- ${r?`data-event="${e(r)}"`:""}
256
- >
257
- <span class="ui-radio-dot" aria-hidden="true"></span>
258
- ${s?`<span class="ui-radio-label">${e(s)}</span>`:""}
259
- </label>`}var lt={sm:".375rem",md:".75rem",lg:"1.25rem"};function Ui({name:t="",legend:i="",options:s=[],value:o="",hint:n="",error:a="",gap:r="md",event:l="",class:c=""}={}){let d=`radiogroup-${t}`,$=`${d}-error`,f=`${d}-hint`,m=lt[r]??lt.md,h=[a?$:"",n?f:""].filter(Boolean).join(" "),x=s.map(v=>ct({name:t,value:v.value,label:v.label,checked:String(v.value)===String(o),disabled:v.disabled??!1,event:l})+(v.hint?`<p class="ui-hint" style="margin:-.25rem 0 0 2rem">${e(v.hint)}</p>`:"")).join(""),g=n?`<p id="${f}" class="ui-hint">${e(n)}</p>`:"",y=a?`<p id="${$}" class="ui-error" role="alert">${e(a)}</p>`:"",M=["ui-radio-group",a?"ui-radio-group--error":"",c].filter(Boolean).join(" ");return`<fieldset class="${e(M)}"${h?` aria-describedby="${h}"`:""}>
260
- ${i?`<legend class="ui-fieldset-legend">${e(i)}</legend>`:""}
261
- <div class="ui-radio-group-body" style="--radio-gap:${m}">
262
- ${x}
263
- ${g}
264
- ${y}
265
- </div>
266
- </fieldset>`}var dt={sm:"1rem",md:"1.5rem",lg:"2rem"},Di='<svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg>',qi='<svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round" aria-hidden="true"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg>',_i='<svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true"><defs><linearGradient id="half"><stop offset="50%" stop-color="currentColor"/><stop offset="50%" stop-color="transparent"/></linearGradient></defs><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" fill="url(#half)" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/></svg>';function Zi({value:t=0,max:i=5,name:s="",label:o="",size:n="md",disabled:a=!1,class:r=""}={}){let l=dt[n]??dt.md,c=["ui-rating",r].filter(Boolean).join(" ");if(!s){let m=Array.from({length:i},(h,x)=>{let g=x+1;return t>=g?`<span class="ui-rating-star ui-rating-star--filled">${Di}</span>`:t>=g-.5?`<span class="ui-rating-star ui-rating-star--half">${_i}</span>`:`<span class="ui-rating-star">${qi}</span>`}).join("");return`<div
267
- class="${e(c)}"
268
- style="--rating-size:${l}"
269
- role="img"
270
- aria-label="${e(t)} out of ${e(String(i))} stars"
271
- >${m}</div>`}let d=Array.from({length:i},(m,h)=>{let x=i-h,g=x===Math.round(t),y=`${x} out of ${i}`;return`<label class="ui-rating-star" title="${y}" aria-label="${y} stars"><input
272
- type="radio"
273
- name="${e(s)}"
274
- value="${x}"
275
- class="ui-rating-input"
276
- ${g?"checked":""}
277
- ${a?"disabled":""}
278
- >\u2605</label>`}).join(""),f=o?`<legend style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0">${e(o)}</legend>`:"";return`<fieldset class="${e(c)}" style="--rating-size:${l};border:0;padding:0;margin:0"${a?" disabled":""}>
279
- ${f}
280
- <div class="ui-rating-stars">${d}</div>
281
- </fieldset>`}var ut={sm:"1rem",md:"1.5rem",lg:"2.5rem"},pt={accent:"var(--ui-accent)",muted:"var(--ui-muted)",white:"#fff"};function Fi({size:t="md",color:i="accent",label:s="Loading\u2026",class:o=""}={}){let n=ut[t]??ut.md,a=pt[i]??pt.accent,r=["ui-spinner",o].filter(Boolean).join(" ");return`<span
282
- class="${e(r)}"
283
- role="status"
284
- aria-label="${e(s)}"
285
- style="--spinner-size:${n};--spinner-color:${a}"
286
- ></span>`}var Xi={accent:"accent",success:"success",warning:"warning",error:"error"},$t={sm:".25rem",md:".5rem",lg:"1rem"};function Wi({value:t=void 0,max:i=100,label:s="",showLabel:o=!1,showValue:n=!1,variant:a="accent",size:r="md",class:l=""}={}){let c=t==null,d=c?0:Math.min(Math.max(Number(t),0),i),$=c?0:Math.round(d/i*100),f=Xi[a]??"accent",m=$t[r]??$t.md,h=["ui-progress",`ui-progress--${f}`,c?"ui-progress--indeterminate":"",l].filter(Boolean).join(" "),x=o||n?`
287
- <div class="ui-progress-header">
288
- ${o&&s?`<span class="ui-progress-label">${e(s)}</span>`:"<span></span>"}
289
- ${n&&!c?`<span class="ui-progress-value">${$}%</span>`:""}
290
- </div>`:"";return`<div
291
- class="${e(h)}"
292
- role="progressbar"
293
- ${c?"":`aria-valuenow="${d}" aria-valuemin="0" aria-valuemax="${i}"`}
294
- ${s?`aria-label="${e(s)}"`:""}
295
- style="--progress-height:${m}"
296
- >${x}
297
- <div class="ui-progress-track">
298
- <div class="ui-progress-fill" style="${c?"":`width:${$}%`}"></div>
299
- </div>
300
- </div>`}var P=500,mt={accent:"var(--ui-accent)",success:"var(--ui-green)",warning:"var(--ui-yellow)",error:"var(--ui-red)",blue:"var(--ui-blue)",muted:"var(--ui-muted)"},ft=["accent","blue","success","warning","error","muted"];function O(t){return mt[t]??mt.accent}function w(t){return Math.round(t*10)/10}function ht(t,i,s){return Math.max(i,Math.min(s,t))}function st(t){let i=Math.abs(t);return i>=1e6?(t/1e6).toFixed(1).replace(/\.0$/,"")+"M":i>=1e3?(t/1e3).toFixed(1).replace(/\.0$/,"")+"k":String(Math.round(t))}function Yi({data:t=[],height:i=220,color:s="accent",showValues:o=!1,showGrid:n=!0,gap:a=.25,class:r=""}={}){if(!t.length)return"";let l={top:o?28:16,right:16,bottom:40,left:44},c=P-l.left-l.right,d=i-l.top-l.bottom,$=t.map(C=>Number(C.value)||0),f=Math.max(...$,0),m=Math.min(...$,0),h=f-m||1,x=O(s),g=C=>w(l.top+d-(C-m)/h*d),y=g(0),M="";if(n)for(let C=0;C<=4;C++){let A=m+C/4*h,b=g(A);M+=`<line x1="${l.left}" y1="${w(b)}" x2="${P-l.right}" y2="${w(b)}" stroke="var(--ui-border)" stroke-width="1"/>`,M+=`<text x="${l.left-6}" y="${w(b+4)}" text-anchor="end" font-size="11" fill="var(--ui-muted)" font-family="var(--ui-font)">${e(st(A))}</text>`}let v=`<line x1="${l.left}" y1="${y}" x2="${P-l.right}" y2="${y}" stroke="var(--ui-border)" stroke-width="1.5"/>`,S=c/t.length,H=w(S*(1-ht(a,.05,.9))),j=t.map((C,A)=>{let b=Number(C.value)||0,B=w(l.left+A*S+(S-H)/2),I=w(Math.min(g(b),y)),N=w(Math.max(Math.abs(g(b)-y),1)),T=w(B+H/2),V=`<rect x="${B}" y="${I}" width="${H}" height="${N}" fill="${x}" rx="2"/>`;return o&&(V+=`<text x="${T}" y="${w(I-5)}" text-anchor="middle" font-size="11" font-weight="600" fill="${x}" font-family="var(--ui-font)">${e(st(b))}</text>`),C.label!=null&&(V+=`<text x="${T}" y="${i-8}" text-anchor="middle" font-size="11" fill="var(--ui-muted)" font-family="var(--ui-font)">${e(String(C.label))}</text>`),V}).join(""),k=`Bar chart: ${t.map(C=>`${C.label??""} ${C.value}`).join(", ")}`;return`<svg${r?` class="${e(r)}"`:""} viewBox="0 0 ${P} ${i}" width="100%" height="${i}" role="img" aria-label="${e(k)}">${M}${v}${j}</svg>`}function Ki({data:t=[],height:i=220,color:s="accent",area:o=!1,showDots:n=!0,showGrid:a=!0,class:r=""}={}){if(t.length<2)return"";let l={top:16,right:16,bottom:40,left:44},c=P-l.left-l.right,d=i-l.top-l.bottom,$=t.map(b=>Number(b.value)||0),f=Math.max(...$),m=Math.min(...$),h=f-m||1,x=O(s),g=b=>w(l.left+b/(t.length-1)*c),y=b=>w(l.top+d-(b-m)/h*d),M="";if(a)for(let b=0;b<=4;b++){let B=m+b/4*h,I=y(B);M+=`<line x1="${l.left}" y1="${w(I)}" x2="${P-l.right}" y2="${w(I)}" stroke="var(--ui-border)" stroke-width="1"/>`,M+=`<text x="${l.left-6}" y="${w(I+4)}" text-anchor="end" font-size="11" fill="var(--ui-muted)" font-family="var(--ui-font)">${e(st(B))}</text>`}let v=t.map((b,B)=>[g(B),y(Number(b.value)||0)]),S=v.map(([b,B])=>`${b},${B}`).join(" "),H="";if(o){let b=w(l.top+d);H=`<path d="${`M${v[0][0]},${b} `+v.map(([I,N])=>`L${I},${N}`).join(" ")+` L${v.at(-1)[0]},${b} Z`}" fill="${x}" fill-opacity="0.12"/>`}let j=`<polyline points="${S}" fill="none" stroke="${x}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>`,k=n?v.map(([b,B])=>`<circle cx="${b}" cy="${B}" r="3.5" fill="${x}"/>`).join(""):"",L=t.map((b,B)=>b.label!=null?`<text x="${g(B)}" y="${i-8}" text-anchor="middle" font-size="11" fill="var(--ui-muted)" font-family="var(--ui-font)">${e(String(b.label))}</text>`:"").join(""),C=`Line chart: ${t.map(b=>`${b.label??""} ${b.value}`).join(", ")}`;return`<svg${r?` class="${e(r)}"`:""} viewBox="0 0 ${P} ${i}" width="100%" height="${i}" role="img" aria-label="${e(C)}">${M}${H}${j}${k}${L}</svg>`}function Ji({data:t=[],size:i=200,thickness:s=40,label:o="",sublabel:n="",class:a=""}={}){if(!t.length)return"";let r=i/2,l=i/2,c=r-8,d=c-ht(s,4,c-4),$=t.reduce((H,j)=>H+Math.max(0,Number(j.value)||0),0);if(!$)return"";let f=-Math.PI/2,m=t.map((H,j)=>{let L=Math.max(0,Number(H.value)||0)/$,C=L*2*Math.PI,A=f,b=f+C;f=b;let B=O(H.color||ft[j%ft.length]);if(L>=1-1e-10){let yt=w((c+d)/2);return`<circle cx="${r}" cy="${l}" r="${yt}" fill="none" stroke="${B}" stroke-width="${s}"/>`}let I=w(r+c*Math.cos(A)),N=w(l+c*Math.sin(A)),T=w(r+c*Math.cos(b)),V=w(l+c*Math.sin(b)),xt=w(r+d*Math.cos(b)),gt=w(l+d*Math.sin(b)),vt=w(r+d*Math.cos(A)),bt=w(l+d*Math.sin(A)),ot=C>Math.PI?1:0;return`<path d="${`M${I},${N} A${c},${c} 0 ${ot} 1 ${T},${V} L${xt},${gt} A${d},${d} 0 ${ot} 0 ${vt},${bt} Z`}" fill="${B}"/>`}).join(""),x=w(l+(o&&n?-6:6)),g=w(l+16),y=o?`<text x="${r}" y="${x}" text-anchor="middle" font-size="${s>30?22:16}" font-weight="700" fill="var(--ui-text)" font-family="var(--ui-font)">${e(o)}</text>`:"",M=n?`<text x="${r}" y="${g}" text-anchor="middle" font-size="12" fill="var(--ui-muted)" font-family="var(--ui-font)">${e(n)}</text>`:"",v=`Donut chart: ${t.map(H=>`${H.label??""} ${H.value}`).join(", ")}`;return`<svg${a?` class="${e(a)}"`:""} viewBox="0 0 ${i} ${i}" width="${i}" height="${i}" role="img" aria-label="${e(v)}">${m}${y}${M}</svg>`}function Qi({data:t=[],width:i=80,height:s=32,color:o="accent",area:n=!1,class:a=""}={}){if(t.length<2)return"";let r=t.map(v=>Number(v)||0),l=Math.min(...r),d=Math.max(...r)-l||1,$=2,f=O(o),m=v=>w(v*(i/(t.length-1))),h=v=>w(s-$-(v-l)/d*(s-$*2)),x=r.map((v,S)=>[m(S),h(v)]),g=x.map(([v,S])=>`${v},${S}`).join(" "),y="";if(n){let v=s-$;y=`<path d="${`M${x[0][0]},${v} `+x.map(([H,j])=>`L${H},${j}`).join(" ")+` L${x.at(-1)[0]},${v} Z`}" fill="${f}" fill-opacity="0.15"/>`}return`<svg${a?` class="${e(a)}"`:""} viewBox="0 0 ${i} ${s}" width="${i}" height="${s}" aria-hidden="true">${y}<polyline points="${g}" fill="none" stroke="${f}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>`}function ts({name:t="",label:i="",min:s=0,max:o=100,step:n=1,value:a=50,disabled:r=!1,hint:l="",showValue:c=!1,id:d="",event:$="",class:f=""}={}){let m=e(d||`slider-${t}`),h=`${m}-hint`,x=l?h:"",g=Number(s),y=Number(o),M=Math.min(Math.max(Number(a),g),y),v=y>g?((M-g)/(y-g)*100).toFixed(2)+"%":"0%",S=["ui-field",f].filter(Boolean).join(" "),H=`${m}-output`,j=i?`<label for="${m}" class="ui-label${c?" ui-label--row":""}">
301
- ${e(i)}
302
- ${c?`<output id="${H}" class="ui-slider-output" for="${m}">${M}</output>`:""}
303
- </label>`:"",k=l?`<p id="${h}" class="ui-hint">${e(l)}</p>`:"";return`<div class="${e(S)}" style="--slider-fill:${v}">
304
- ${j}
305
- <input
306
- type="range"
307
- id="${m}"
308
- name="${e(t)}"
309
- class="ui-slider"
310
- min="${g}"
311
- max="${y}"
312
- step="${e(String(n))}"
313
- value="${M}"
314
- aria-valuemin="${g}"
315
- aria-valuemax="${y}"
316
- aria-valuenow="${M}"
317
- ${r?"disabled":""}
318
- ${$?`data-event="${e($)}"`:""}
319
- ${x?`aria-describedby="${x}"`:""}
320
- >
321
- ${k}
322
- </div>`}function es({name:t="",options:i=[],value:s="",disabled:o=!1,size:n="md",event:a="",class:r=""}={}){let c=["ui-segmented",n==="sm"?"ui-segmented--sm":n==="lg"?"ui-segmented--lg":"",r].filter(Boolean).join(" "),d=i.map(($,f)=>{let m=e(`seg-${t}-${f}`),h=String($.value)===String(s);return`<input
323
- type="radio"
324
- class="ui-segmented-input"
325
- id="${m}"
326
- name="${e(t)}"
327
- value="${e(String($.value))}"
328
- ${h?"checked":""}
329
- ${o?"disabled":""}
330
- ${a?`data-event="${e(a)}"`:""}
331
- ><label class="ui-segmented-label" for="${m}">${e(String($.label))}</label>`}).join("");return`<div class="${e(c)}" role="group">${d}</div>`}function is({name:t="",label:i="",hint:s="",error:o="",accept:n="",multiple:a=!1,required:r=!1,disabled:l=!1,id:c="",event:d="",class:$=""}={}){let f=e(c||`field-${t}`),m=`${f}-error`,h=`${f}-hint`,x=[o?m:"",s?h:""].filter(Boolean).join(" "),g=["ui-field",o?"ui-field--error":"",$].filter(Boolean).join(" "),y=["ui-upload",l?"ui-upload--disabled":"",o?"ui-upload--error":""].filter(Boolean).join(" "),M=i?`<label for="${f}" class="ui-label">${e(i)}${r?' <span class="ui-required" aria-hidden="true">*</span>':""}</label>`:"",v=s?`<p id="${h}" class="ui-hint">${e(s)}</p>`:"",S=o?`<p id="${m}" class="ui-error" role="alert">${e(o)}</p>`:"",H=tt({size:24,class:"ui-upload-icon"});return`<div class="${e(g)}">
332
- ${M}
333
- <div class="${e(y)}" role="button" tabindex="${l?"-1":"0"}" aria-label="Upload file"
334
- >
335
- <div class="ui-upload-body">
336
- ${H}
337
- <span class="ui-upload-text">Drag &amp; drop or <span class="ui-upload-browse">browse</span></span>
338
- </div>
339
- <input
340
- type="file"
341
- id="${f}"
342
- name="${e(t)}"
343
- class="ui-upload-input"
344
- ${n?`accept="${e(n)}"`:""}
345
- ${a?"multiple":""}
346
- ${r?'required aria-required="true"':""}
347
- ${l?"disabled":""}
348
- ${d?`data-event="${e(d)}"`:""}
349
- ${x?`aria-describedby="${x}"`:""}
350
- ${o?'aria-invalid="true"':""}
351
- >
352
- </div>
353
- ${v}
354
- ${S}
355
- </div>`}function ss({items:t=[],separator:i="/",class:s=""}={}){let o=["ui-breadcrumbs",s].filter(Boolean).join(" "),n=t.map((a,r)=>{let l=r===t.length-1,c=r>0?`<span class="ui-breadcrumbs-sep" aria-hidden="true">${e(i)}</span>`:"",d=l?`<span class="ui-breadcrumbs-current" aria-current="page">${e(a.label)}</span>`:`<a href="${e(a.href)}" class="ui-breadcrumbs-link">${e(a.label)}</a>`;return`<li class="ui-breadcrumbs-item">${c}${d}</li>`}).join("");return`<nav aria-label="Breadcrumb" class="${e(o)}">
356
- <ol class="ui-breadcrumbs-list">${n}</ol>
357
- </nav>`}var os=F({size:12});function ns({steps:t=[],current:i=0,class:s=""}={}){let o=["ui-stepper",s].filter(Boolean).join(" "),n=t.map((a,r)=>{let l=r<i,d=l?"ui-stepper-item--complete":r===i?"ui-stepper-item--active":"",$=l?`<div class="ui-stepper-dot">${os}</div>`:`<div class="ui-stepper-dot">${r+1}</div>`;return`<div class="ui-stepper-item${d?` ${d}`:""}">
358
- ${$}
359
- <span class="ui-stepper-label">${e(a)}</span>
360
- </div>`}).join("");return`<div class="${e(o)}">${n}</div>`}function as({src:t="",alt:i="",caption:s="",ratio:o="",rounded:n=!1,pill:a=!1,width:r="",height:l="",maxWidth:c="",class:d=""}={}){let $=["ui-image",n?"ui-image--rounded":"",a?"ui-image--pill":"",d].filter(Boolean).join(" "),f=c?` style="max-width:${e(typeof c=="number"?`${c}px`:c)};margin-left:auto;margin-right:auto"`:"",m=r?` width="${e(String(r))}"`:"",h=l?` height="${e(String(l))}"`:"",x=s?`<figcaption class="ui-image-caption">${e(s)}</figcaption>`:"";return o?`<figure class="${e($)}"${f}>
361
- <div class="ui-image-crop">
362
- <img src="${e(t)}" alt="${e(i)}" class="ui-image-img--cover" style="aspect-ratio:${e(o)}"${m}${h} loading="lazy" decoding="async">
363
- </div>
364
- ${x}
365
- </figure>`:`<figure class="${e($)}"${f}>
366
- <div class="ui-image-wrap">
367
- <img src="${e(t)}" alt="${e(i)}" class="ui-image-img"${m}${h} loading="lazy" decoding="async">
368
- </div>
369
- ${x}
370
- </figure>`}function rs({quote:t="",cite:i="",size:s="md",class:o=""}={}){let a=["ui-pullquote",s==="lg"?"ui-pullquote--lg":"",o].filter(Boolean).join(" "),r=i?`<figcaption class="ui-pullquote-cite">${e(i)}</figcaption>`:"";return`<figure class="${e(a)}">
371
- <blockquote>
372
- <p class="ui-pullquote-text">${e(t)}</p>
373
- </blockquote>
374
- ${r}
375
- </figure>`}function ls({content:t="",size:i="base",class:s=""}={}){return`<div class="${["ui-prose",i!=="base"?`ui-prose--${i}`:"",s].filter(Boolean).join(" ")}">${t}</div>`}var cs={1:"4xl",2:"3xl",3:"2xl",4:"xl",5:"base",6:"sm"};function ds({level:t=2,text:i="",size:s,color:o="default",balance:n=!1,class:a=""}={}){let r=`h${Math.min(Math.max(Math.floor(t),1),6)}`,l=s||cs[t]||"base",c=t<=3?"bold":"semibold",d=o!=="default"?` u-text-${o}`:"",$=[`u-text-${l}`,`u-font-${c}`,"u-leading-tight",d,n?"u-text-balance":"",a].filter(Boolean).join(" ");return`<${r} class="${$}">${e(i)}</${r}>`}function us({items:t=[],ordered:i=!1,gap:s="sm",class:o=""}={}){if(!t.length)return"";let n=i?"ol":"ul",r=["ui-list",i?"ui-list--ordered":"ui-list--unordered",{xs:"u-gap-1",sm:"u-gap-2",md:"u-gap-3"}[s]||"u-gap-2",o].filter(Boolean).join(" "),l=t.map(c=>`<li class="ui-list-item">${c}</li>`).join("");return`<${n} class="${r}">${l}</${n}>`}export{R as a,St as b,jt as c,Ct as d,At as e,It as f,Lt as g,zt as h,D as i,q as j,Pt as k,_ as l,Nt as m,Z as n,z as o,Vt as p,Tt as q,F as r,X as s,W as t,Et as u,Y as v,K as w,Gt as x,J as y,Ot as z,Rt as A,Ut as B,Q as C,Dt as D,qt as E,tt as F,_t as G,Zt as H,Ft as I,Xt as J,Wt as K,Yt as L,Kt as M,Jt as N,Qt as O,te as P,ee as Q,ie as R,se as S,oe as T,ne as U,ae as V,re as W,le as X,ce as Y,de as Z,ue as _,pe as $,$e as aa,me as ba,fe as ca,he as da,xe as ea,ge as fa,ve as ga,be as ha,ye as ia,we as ja,Me as ka,He as la,Se as ma,je as na,Ce as oa,Be as pa,ke as qa,et as ra,it as sa,Ae as ta,Ie as ua,Le as va,ze as wa,Pe as xa,Ve as ya,Te as za,Ee as Aa,Re as Ba,_e as Ca,Xe as Da,We as Ea,Ye as Fa,Ke as Ga,Je as Ha,Qe as Ia,ti as Ja,ei as Ka,si as La,ai as Ma,li as Na,pi as Oa,fi as Pa,gi as Qa,wi as Ra,Mi as Sa,Si as Ta,Bi as Ua,Ai as Va,Li as Wa,zi as Xa,Ni as Ya,Vi as Za,Ti as _a,rt as $a,Gi as ab,Oi as bb,Ri as cb,ct as db,Ui as eb,Zi as fb,Fi as gb,Wi as hb,Yi as ib,Ki as jb,Ji as kb,Qi as lb,ts as mb,es as nb,is as ob,ss as pb,ns as qb,as as rb,rs as sb,ls as tb,ds as ub,us as vb};
@@ -1,10 +0,0 @@
1
- function o(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function r({content:e="",filename:s="",lang:c="",class:d=""}={}){let a=["ui-code-window",d].filter(Boolean).join(" ");return`<div class="${o(a)}" role="region"${s?` aria-label="${o(s)}"`:""}>
2
- <div class="ui-code-window-chrome" aria-hidden="true">
3
- <span class="ui-code-window-dot"></span>
4
- <span class="ui-code-window-dot"></span>
5
- <span class="ui-code-window-dot"></span>
6
- ${s?`<span class="ui-code-window-filename">${o(s)}</span>`:""}
7
- ${c?`<span class="ui-code-window-lang">${o(c)}</span>`:""}
8
- </div>
9
- <pre class="ui-code-window-pre"><code class="ui-code-window-code">${e}</code></pre>
10
- </div>`}export{o as a,r as b};
@@ -1,11 +0,0 @@
1
- import{a as c}from"./runtime-QFURDKA2.js";import{b as d,c as n,d as s,g as a}from"./runtime-L2HNXIHW.js";function v(e,o,{col:t=!1,scroll:l=!1}={}){return`<div class="component-demo">
2
- <div class="${["demo-preview",t?"demo-preview--col":"",l?"demo-preview--scroll":""].filter(Boolean).join(" ")}"><button class="demo-theme-toggle" aria-label="Toggle light/dark theme" title="Toggle theme">
3
- <svg class="demo-theme-toggle__dark" width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M21 12.79A9 9 0 1111.21 3a7 7 0 109.79 9.79z"/></svg>
4
- <svg class="demo-theme-toggle__light" width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
5
- </button><div class="demo-preview-inner">${e}</div></div>
6
- <div class="demo-code">${a(c(o,"js"))}</div>
7
- </div>`}function m({currentHref:e,name:o,description:t,content:l,prev:r=null,next:i=null}){return d({currentHref:e,prev:r,next:i,content:`
8
- ${n(o)}
9
- ${s(t)}
10
- ${l}
11
- `})}export{v as a,m as b};