@invisibleloop/pulse 0.1.23 → 0.1.29

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 (117) hide show
  1. package/.claude/settings.local.json +12 -1
  2. package/.github/workflows/publish.yml +11 -19
  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 +6 -2
  14. package/src/agent/guide-routing.md +20 -0
  15. package/src/agent/guide-spec.md +9 -1
  16. package/src/cli/scaffold.js +63 -2
  17. package/src/server/index.js +21 -6
  18. package/src/server/server.test.js +47 -0
  19. package/docs/public/dist/accessibility.boot-5DVTARJU.js +0 -115
  20. package/docs/public/dist/actions.boot-P66HKQEM.js +0 -164
  21. package/docs/public/dist/auth.boot-IMAJAUPH.js +0 -140
  22. package/docs/public/dist/caching.boot-DVR6KDE7.js +0 -53
  23. package/docs/public/dist/components--accordion.boot-3HVKMNWC.js +0 -11
  24. package/docs/public/dist/components--alert.boot-GCEXOZAC.js +0 -6
  25. package/docs/public/dist/components--app-badge.boot-DVT3GCHJ.js +0 -6
  26. package/docs/public/dist/components--avatar.boot-PSW24EVA.js +0 -5
  27. package/docs/public/dist/components--badge.boot-TYDY2RMK.js +0 -7
  28. package/docs/public/dist/components--banner.boot-EI5PZSZK.js +0 -7
  29. package/docs/public/dist/components--breadcrumbs.boot-SMA2E2GO.js +0 -34
  30. package/docs/public/dist/components--button.boot-J54BQM2E.js +0 -23
  31. package/docs/public/dist/components--card.boot-PZGNDIB6.js +0 -138
  32. package/docs/public/dist/components--carousel.boot-TP6LPFZZ.js +0 -12
  33. package/docs/public/dist/components--charts.boot-2EOYQWKL.js +0 -108
  34. package/docs/public/dist/components--checkbox.boot-DS5BSL6T.js +0 -54
  35. package/docs/public/dist/components--cluster.boot-HHVIBBJG.js +0 -9
  36. package/docs/public/dist/components--code-window.boot-2GR2DV33.js +0 -20
  37. package/docs/public/dist/components--container.boot-7LOOGK2K.js +0 -5
  38. package/docs/public/dist/components--cta.boot-FSNZ5YRT.js +0 -11
  39. package/docs/public/dist/components--divider.boot-3NI2C3QG.js +0 -6
  40. package/docs/public/dist/components--empty.boot-YX2UR3PV.js +0 -7
  41. package/docs/public/dist/components--feature.boot-MUD7NSUO.js +0 -13
  42. package/docs/public/dist/components--fieldset.boot-J7BYHMKF.js +0 -19
  43. package/docs/public/dist/components--fileupload.boot-NIKVTTPD.js +0 -52
  44. package/docs/public/dist/components--footer.boot-EYUK5FRG.js +0 -14
  45. package/docs/public/dist/components--grid.boot-URDQVDDR.js +0 -59
  46. package/docs/public/dist/components--heading.boot-BPQKU43E.js +0 -44
  47. package/docs/public/dist/components--hero.boot-4RAPRGAB.js +0 -17
  48. package/docs/public/dist/components--icons.boot-ZITNU5JP.js +0 -68
  49. package/docs/public/dist/components--image.boot-XEEGHQZF.js +0 -19
  50. package/docs/public/dist/components--input.boot-SGASZG5K.js +0 -7
  51. package/docs/public/dist/components--list.boot-W3XC5MHD.js +0 -55
  52. package/docs/public/dist/components--media.boot-5VFIETZO.js +0 -13
  53. package/docs/public/dist/components--modal.boot-RZUYXBN2.js +0 -47
  54. package/docs/public/dist/components--nav.boot-ODBOHU7O.js +0 -33
  55. package/docs/public/dist/components--pricing.boot-4AQ4ZVBY.js +0 -21
  56. package/docs/public/dist/components--progress.boot-GHAGYZOK.js +0 -30
  57. package/docs/public/dist/components--prose.boot-QANJL6JI.js +0 -67
  58. package/docs/public/dist/components--pullquote.boot-Q2WMNAZU.js +0 -22
  59. package/docs/public/dist/components--radio.boot-TJRDQ2OL.js +0 -75
  60. package/docs/public/dist/components--rating.boot-QBAN6DEL.js +0 -38
  61. package/docs/public/dist/components--search.boot-PXH5O5AG.js +0 -17
  62. package/docs/public/dist/components--section.boot-AQGIYHWW.js +0 -12
  63. package/docs/public/dist/components--segmented.boot-BEVTKEJO.js +0 -33
  64. package/docs/public/dist/components--select.boot-47X5RHOC.js +0 -10
  65. package/docs/public/dist/components--slider.boot-PSRRX7XL.js +0 -47
  66. package/docs/public/dist/components--spinner.boot-MZ5MO2OH.js +0 -22
  67. package/docs/public/dist/components--stack.boot-DI4NJXBF.js +0 -9
  68. package/docs/public/dist/components--stat.boot-QMFUWBQT.js +0 -9
  69. package/docs/public/dist/components--stepper.boot-34PP2NEV.js +0 -22
  70. package/docs/public/dist/components--table.boot-FCQGSFIQ.js +0 -11
  71. package/docs/public/dist/components--testimonial.boot-DWQPDKYG.js +0 -11
  72. package/docs/public/dist/components--textarea.boot-QVXLBOJ5.js +0 -4
  73. package/docs/public/dist/components--timeline.boot-26LN52P2.js +0 -95
  74. package/docs/public/dist/components--toggle.boot-IQQEI76S.js +0 -29
  75. package/docs/public/dist/components--tooltip.boot-LGHCO6NN.js +0 -9
  76. package/docs/public/dist/components.boot-SE6PQ4P7.js +0 -103
  77. package/docs/public/dist/config.boot-DTRRWUE6.js +0 -126
  78. package/docs/public/dist/constraints.boot-DUHDZBMC.js +0 -71
  79. package/docs/public/dist/deploy.boot-SLAD3NI2.js +0 -163
  80. package/docs/public/dist/docs-8e3d4b5c.css +0 -1
  81. package/docs/public/dist/extending.boot-UA3CN243.js +0 -159
  82. package/docs/public/dist/faq.boot-6EQAWLQR.js +0 -43
  83. package/docs/public/dist/getting-started.boot-TDKIFL5U.js +0 -86
  84. package/docs/public/dist/guard.boot-AUHAWTG4.js +0 -80
  85. package/docs/public/dist/home.boot-BVQXRH32.js +0 -383
  86. package/docs/public/dist/how-it-works.boot-LTWAKWKW.js +0 -104
  87. package/docs/public/dist/hydration.boot-JRM6IPJL.js +0 -78
  88. package/docs/public/dist/images.boot-M6ZVKTZS.js +0 -80
  89. package/docs/public/dist/manifest.json +0 -94
  90. package/docs/public/dist/meta.boot-7NXGPHR4.js +0 -79
  91. package/docs/public/dist/mutations.boot-F6F43UDX.js +0 -79
  92. package/docs/public/dist/navigation.boot-AOXWS3ZF.js +0 -57
  93. package/docs/public/dist/performance.boot-C3UPCOBK.js +0 -98
  94. package/docs/public/dist/persist.boot-WT32PQOQ.js +0 -61
  95. package/docs/public/dist/project-structure.boot-FB3LRVJ4.js +0 -63
  96. package/docs/public/dist/prompt-examples.boot-YKR4VDK4.js +0 -31
  97. package/docs/public/dist/pulse-ui-81a85c03.css +0 -1
  98. package/docs/public/dist/raw-responses.boot-M4KA5YXL.js +0 -104
  99. package/docs/public/dist/routing.boot-FNX5FDGH.js +0 -70
  100. package/docs/public/dist/runtime-B73WLANC.js +0 -1
  101. package/docs/public/dist/runtime-KO4BHUQ3.js +0 -49
  102. package/docs/public/dist/runtime-L2HNXIHW.js +0 -59
  103. package/docs/public/dist/runtime-QFURDKA2.js +0 -5
  104. package/docs/public/dist/runtime-UVPXO4IR.js +0 -375
  105. package/docs/public/dist/runtime-VMJA3Z4N.js +0 -10
  106. package/docs/public/dist/runtime-ZJ4FXT5O.js +0 -11
  107. package/docs/public/dist/server-api.boot-K7X3LCFB.js +0 -219
  108. package/docs/public/dist/server-data.boot-Y7HQYC4R.js +0 -157
  109. package/docs/public/dist/slash-commands.boot-V2UV7OW2.js +0 -26
  110. package/docs/public/dist/spec.boot-2WU7ZHCV.js +0 -159
  111. package/docs/public/dist/state.boot-B24GUE3R.js +0 -73
  112. package/docs/public/dist/store.boot-TLIB4XHH.js +0 -150
  113. package/docs/public/dist/streaming.boot-W2DZSMW4.js +0 -80
  114. package/docs/public/dist/stripe.boot-QN3C2GEL.js +0 -164
  115. package/docs/public/dist/supabase.boot-BG4XXLZE.js +0 -303
  116. package/docs/public/dist/testing.boot-6U4WKMTE.js +0 -130
  117. package/docs/public/dist/validation.boot-PQHYGW5B.js +0 -100
@@ -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};