@kitn.ai/ui 0.19.0 → 0.20.0
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.
- package/LICENSE +6 -0
- package/NOTICE +54 -0
- package/dist/components/audio-visualizer/audio-visualizer.voice-fixture.d.ts +59 -0
- package/dist/components/audio-visualizer/aurora.glsl.d.ts +114 -0
- package/dist/components/audio-visualizer/index.d.ts +155 -0
- package/dist/components/audio-visualizer/shader-canvas.d.ts +130 -0
- package/dist/components/audio-visualizer/sizes.d.ts +25 -0
- package/dist/components/audio-visualizer/variant-aurora.d.ts +89 -0
- package/dist/components/audio-visualizer/variant-bar.d.ts +46 -0
- package/dist/components/audio-visualizer/variant-custom.d.ts +73 -0
- package/dist/components/audio-visualizer/variant-grid.d.ts +22 -0
- package/dist/components/audio-visualizer/variant-radial.d.ts +13 -0
- package/dist/components/audio-visualizer/variant-wave.d.ts +11 -0
- package/dist/components/audio-visualizer/wave.glsl.d.ts +16 -0
- package/dist/create-tween-hvpmSuwW.js +7 -0
- package/dist/custom-elements.json +282 -0
- package/dist/elements/agent-card.js +1 -1
- package/dist/elements/artifact.js +1 -1
- package/dist/elements/attachments.js +1 -1
- package/dist/elements/audio-visualizer.d.ts +1 -0
- package/dist/elements/audio-visualizer.js +1 -0
- package/dist/elements/autoloader.js +1 -1
- package/dist/elements/avatar.js +1 -1
- package/dist/elements/badge.js +1 -1
- package/dist/elements/button.js +1 -1
- package/dist/elements/card.js +1 -1
- package/dist/elements/cards.js +1 -1
- package/dist/elements/chain-of-thought.js +1 -1
- package/dist/elements/chat-scope-picker.js +1 -1
- package/dist/elements/chat-workspace.js +1 -1
- package/dist/elements/chat.js +1 -1
- package/dist/elements/checkpoint.js +1 -1
- package/dist/elements/choice.js +1 -1
- package/dist/elements/chunks/{Icon-11SRdjJ4.js → Icon-Tj58ES_d.js} +1 -1
- package/dist/elements/chunks/{action-icons-CtRg17uX.js → action-icons-ns1Fnedj.js} +1 -1
- package/dist/elements/chunks/arrow-left-DQocUFvy.js +1 -0
- package/dist/elements/chunks/{attachments-CBqQRh60.js → attachments-mCB5F1Fq.js} +1 -1
- package/dist/elements/chunks/audio-visualizer-BqNy7dfm.js +1 -0
- package/dist/elements/chunks/{badge-CxklEXQm.js → badge-B4Zuajl2.js} +1 -1
- package/dist/elements/chunks/{button-BD7lUvVB.js → button-ZWNif3--.js} +1 -1
- package/dist/elements/chunks/{card-B-PRGXdj.js → card-BkHbp4BA.js} +1 -1
- package/dist/elements/chunks/{chat-thread-DIZbRIKG.js → chat-thread-CkRN6pZ7.js} +1 -1
- package/dist/elements/chunks/check-B9-gn6SS.js +1 -0
- package/dist/elements/chunks/chevron-down-BNsxc2hk.js +1 -0
- package/dist/elements/chunks/chevron-right-Hv00StBO.js +1 -0
- package/dist/elements/chunks/circle-0e3KJTDr.js +1 -0
- package/dist/elements/chunks/circle-check-BNAS0JEy.js +1 -0
- package/dist/elements/chunks/{circle-x-mtjCO_Ok.js → circle-x-B7faJFlY.js} +1 -1
- package/dist/elements/chunks/{code-block-BeWVttmU.js → code-block-BFUHn6Va.js} +1 -1
- package/dist/elements/chunks/collapsible-DM1Ckd4e.js +1 -0
- package/dist/elements/chunks/{composer-CavJww3d.js → composer-BguS0QL_.js} +2 -2
- package/dist/elements/chunks/{context-CnlsNJSJ.js → context-Cb7k4F-v.js} +1 -1
- package/dist/elements/chunks/{conversation-list-5O_KdI_I.js → conversation-list-CvoAkWhN.js} +1 -1
- package/dist/elements/chunks/create-tween-oVvAIG8r.js +7 -0
- package/dist/elements/chunks/{default-input-CB46cJJ1.js → default-input-Cqqilg9t.js} +1 -1
- package/dist/elements/chunks/define-D1din7Ld.js +1 -0
- package/dist/elements/chunks/{disclosure-BtFK3a-M.js → disclosure-CIZ5c8nO.js} +1 -1
- package/dist/elements/chunks/{download-qJv1dS3M.js → download-Dsbg3ste.js} +1 -1
- package/dist/elements/chunks/{dropdown-UhtAueYR.js → dropdown-BDd1-Zgi.js} +1 -1
- package/dist/elements/chunks/{ellipsis-B1sOOqiJ.js → ellipsis-Dw6qrss-.js} +1 -1
- package/dist/elements/chunks/{external-link-DToP_VKE.js → external-link-Vt74zAoL.js} +1 -1
- package/dist/elements/chunks/{file-text-BwUs_Pj4.js → file-text-CZrZF6_v.js} +1 -1
- package/dist/elements/chunks/{file-tree-C6RhmSnX.js → file-tree-DF4okKyo.js} +1 -1
- package/dist/elements/chunks/{folder-H_Xp0GYP.js → folder-glP5rha4.js} +1 -1
- package/dist/elements/chunks/{hover-card-Dn3yrk1l.js → hover-card-Cmm6Q53m.js} +1 -1
- package/dist/elements/chunks/{icon-BrxJQXzC.js → icon-BLb8beoi.js} +1 -1
- package/dist/elements/chunks/{info-11eT2q5H.js → info-CIsv92JK.js} +1 -1
- package/dist/elements/chunks/{input-B9oZKDfb.js → input-Dds1kFyt.js} +1 -1
- package/dist/elements/chunks/{kbd-D2fx3rWh.js → kbd-De_xbgi9.js} +1 -1
- package/dist/elements/chunks/{link-B-RNYWNw.js → link-i4r_k7z4.js} +1 -1
- package/dist/elements/chunks/{loader-BJh_aRlp.js → loader-BmQH4s3V.js} +1 -1
- package/dist/elements/chunks/{markdown-BIpjrDFv.js → markdown-Zi21WhUz.js} +7 -7
- package/dist/elements/chunks/{message-CPfqj8Gi.js → message-BqyXDN3-.js} +1 -1
- package/dist/elements/chunks/{message-feedback-8uj0aVYh.js → message-feedback-Djr3z6Yb.js} +1 -1
- package/dist/elements/chunks/message-square-vFAgbDaX.js +1 -0
- package/dist/elements/chunks/{minimize-2-C9qkiTJg.js → minimize-2--ifeCGrl.js} +1 -1
- package/dist/elements/chunks/{model-switcher-DRrMcRXH.js → model-switcher-B94YAKsM.js} +1 -1
- package/dist/elements/chunks/{overlay-C8_FUL8q.js → overlay-kD8dwRv_.js} +1 -1
- package/dist/elements/chunks/{paperclip-MA9hxLhW.js → paperclip-q21dYOSK.js} +1 -1
- package/dist/elements/chunks/{progress-bar-y5G6HDjg.js → progress-bar-BrAIIaaJ.js} +1 -1
- package/dist/elements/chunks/{prompt-suggestion-LalWvCJy.js → prompt-suggestion-Bjn2K-fR.js} +1 -1
- package/dist/elements/chunks/reasoning-DTpCGtnY.js +1 -0
- package/dist/elements/chunks/{resizable-xhYF5lCQ.js → resizable-Dp4JExql.js} +1 -1
- package/dist/elements/chunks/{rotate-cw-2ndEXjgS.js → rotate-cw-CFWWkpj2.js} +1 -1
- package/dist/elements/chunks/{scroll-area-BzOPDXrZ.js → scroll-area-Bb0kHH1j.js} +1 -1
- package/dist/elements/chunks/scroll-button-B0cH5fXf.js +1 -0
- package/dist/elements/chunks/{separator-CPvL5Xdl.js → separator-9kRgr1X9.js} +1 -1
- package/dist/elements/chunks/{settings-hmzIuNXD.js → settings-B8lmec4D.js} +1 -1
- package/dist/elements/chunks/{settings-group-BiIym17O.js → settings-group-I0hEuXiN.js} +1 -1
- package/dist/elements/chunks/{share-BbziTAzn.js → share-C3lTiYGt.js} +1 -1
- package/dist/elements/chunks/{skeleton-Bxhs1thL.js → skeleton-DSXW5Yya.js} +1 -1
- package/dist/elements/chunks/{star-BHL3Va5p.js → star-CSJtGxgv.js} +1 -1
- package/dist/elements/chunks/{store-tpnnWlxY.js → store-CHyW95TP.js} +1 -1
- package/dist/elements/chunks/{text-shimmer-1DCKivKx.js → text-shimmer-Cn9TmNpI.js} +1 -1
- package/dist/elements/chunks/{textarea-Czaowo9F.js → textarea-CUwqAX0G.js} +1 -1
- package/dist/elements/chunks/{thumbs-up-CdLqA13R.js → thumbs-up-PNVVThEF.js} +1 -1
- package/dist/elements/chunks/{toast-store-BvBquUFA.js → toast-store-DKbQn3Wn.js} +1 -1
- package/dist/elements/chunks/{tool-4P_ne8Go.js → tool-DjTRpIpl.js} +1 -1
- package/dist/elements/chunks/tooltip-CgBZCVKp.js +1 -0
- package/dist/elements/chunks/{triangle-alert-BllqxXq8.js → triangle-alert-DsHTHCPm.js} +1 -1
- package/dist/elements/chunks/{use-card-resolution-73xiddIW.js → use-card-resolution-BSu_XHjH.js} +1 -1
- package/dist/elements/chunks/variant-aurora-Dc4nQUia.js +218 -0
- package/dist/elements/chunks/variant-custom-y_3kVQhS.js +1 -0
- package/dist/elements/chunks/variant-wave-D5OR1-9Z.js +116 -0
- package/dist/elements/chunks/{video-O9rA6k7S.js → video-B7vmenoC.js} +1 -1
- package/dist/elements/chunks/x-GRUeeQFT.js +1 -0
- package/dist/elements/coachmark.js +1 -1
- package/dist/elements/code-block.js +1 -1
- package/dist/elements/command.js +1 -1
- package/dist/elements/compare.js +1 -1
- package/dist/elements/composer.js +1 -1
- package/dist/elements/confirm-card.js +1 -1
- package/dist/elements/context-meter.js +1 -1
- package/dist/elements/conversation-list.js +1 -1
- package/dist/elements/define.d.ts +11 -0
- package/dist/elements/dialog.js +1 -1
- package/dist/elements/editable-label.js +1 -1
- package/dist/elements/embed.js +1 -1
- package/dist/elements/empty.js +1 -1
- package/dist/elements/feedback-bar.js +1 -1
- package/dist/elements/file-tree.js +1 -1
- package/dist/elements/file-upload.js +1 -1
- package/dist/elements/form.js +1 -1
- package/dist/elements/hover-card.js +1 -1
- package/dist/elements/icon.js +1 -1
- package/dist/elements/image.js +1 -1
- package/dist/elements/input.js +1 -1
- package/dist/elements/kbd.js +1 -1
- package/dist/elements/link-preview.js +1 -1
- package/dist/elements/loader.js +1 -1
- package/dist/elements/markdown.js +1 -1
- package/dist/elements/menu.js +1 -1
- package/dist/elements/message-skills.js +1 -1
- package/dist/elements/message.js +1 -1
- package/dist/elements/model-switcher.js +1 -1
- package/dist/elements/nav.js +1 -1
- package/dist/elements/notice.js +1 -1
- package/dist/elements/pane-group.js +1 -1
- package/dist/elements/pane.js +1 -1
- package/dist/elements/popover.js +1 -1
- package/dist/elements/progress-bar.js +1 -1
- package/dist/elements/prompt-dock.js +1 -1
- package/dist/elements/prompt-input.js +1 -1
- package/dist/elements/prompt-suggestions.js +1 -1
- package/dist/elements/reasoning.js +1 -1
- package/dist/elements/remote.js +1 -1
- package/dist/elements/resizable.js +1 -1
- package/dist/elements/response-stream.js +1 -1
- package/dist/elements/screen.js +1 -1
- package/dist/elements/scroll-area.js +1 -1
- package/dist/elements/scroll-button.js +1 -1
- package/dist/elements/search.js +1 -1
- package/dist/elements/segmented.js +1 -1
- package/dist/elements/separator.js +1 -1
- package/dist/elements/setting-item.js +1 -1
- package/dist/elements/settings-group.js +1 -1
- package/dist/elements/skeleton.js +1 -1
- package/dist/elements/slots.d.ts +12 -0
- package/dist/elements/source.js +1 -1
- package/dist/elements/status.js +1 -1
- package/dist/elements/switch.js +1 -1
- package/dist/elements/tabs.js +1 -1
- package/dist/elements/tasks.js +1 -1
- package/dist/elements/text-shimmer.js +1 -1
- package/dist/elements/thinking-bar.js +1 -1
- package/dist/elements/thread.js +1 -1
- package/dist/elements/toast.js +1 -1
- package/dist/elements/tool.js +1 -1
- package/dist/elements/tooltip.js +1 -1
- package/dist/elements/voice-input.js +1 -1
- package/dist/elements/voice-output.js +1 -1
- package/dist/elements.d.ts +38 -0
- package/dist/index.js +18 -17
- package/dist/kai.es.js +1 -1
- package/dist/llms/llms-full.txt +40 -4
- package/dist/llms/llms.txt +3 -3
- package/dist/primitives/audio-bands.d.ts +106 -0
- package/dist/primitives/create-tween.d.ts +33 -0
- package/dist/primitives/use-audio-analysis.d.ts +149 -0
- package/dist/primitives/use-sequencer.d.ts +13 -0
- package/dist/primitives/use-voice-recorder.d.ts +1 -0
- package/dist/primitives/visualizer-sequences.d.ts +39 -0
- package/dist/react/index.d.ts +41 -0
- package/dist/react.js +159 -153
- package/dist/register-impl-DQyejdfb.js +145 -0
- package/dist/test-utils/fake-clock.d.ts +45 -0
- package/dist/variant-aurora-DVtGqVH6.js +218 -0
- package/dist/variant-custom-Dif-IV4u.js +1 -0
- package/dist/variant-wave-DbfNdvSi.js +116 -0
- package/frameworks/react/index.tsx +42 -0
- package/llms-full.txt +40 -4
- package/llms.txt +3 -3
- package/package.json +6 -3
- package/src/components/audio-visualizer/audio-visualizer.voice-fixture.ts +257 -0
- package/src/components/audio-visualizer/aurora.glsl.ts +330 -0
- package/src/components/audio-visualizer/index.tsx +442 -0
- package/src/components/audio-visualizer/shader-canvas.tsx +846 -0
- package/src/components/audio-visualizer/sizes.ts +54 -0
- package/src/components/audio-visualizer/variant-aurora.tsx +299 -0
- package/src/components/audio-visualizer/variant-bar.tsx +143 -0
- package/src/components/audio-visualizer/variant-custom.tsx +338 -0
- package/src/components/audio-visualizer/variant-grid.tsx +170 -0
- package/src/components/audio-visualizer/variant-radial.tsx +158 -0
- package/src/components/audio-visualizer/variant-wave.tsx +125 -0
- package/src/components/audio-visualizer/wave.glsl.ts +130 -0
- package/src/components/component-meta.json +24 -24
- package/src/elements/audio-visualizer.tsx +183 -0
- package/src/elements/compiled.css +1 -1
- package/src/elements/define.tsx +12 -1
- package/src/elements/element-manifest.json +4 -0
- package/src/elements/element-meta.json +170 -0
- package/src/elements/element-types.d.ts +38 -0
- package/src/elements/register-impl.ts +1 -0
- package/src/elements/slots.ts +35 -0
- package/src/primitives/audio-bands.ts +174 -0
- package/src/primitives/create-tween.ts +214 -0
- package/src/primitives/use-audio-analysis.ts +321 -0
- package/src/primitives/use-sequencer.ts +53 -0
- package/src/primitives/use-voice-recorder.ts +16 -4
- package/src/primitives/visualizer-sequences.ts +350 -0
- package/src/test-utils/fake-clock.ts +88 -0
- package/dist/elements/chunks/arrow-left-CifsGq8x.js +0 -1
- package/dist/elements/chunks/check-CUKS495w.js +0 -1
- package/dist/elements/chunks/chevron-down-AELmYT1j.js +0 -1
- package/dist/elements/chunks/chevron-right-C8g26oKh.js +0 -1
- package/dist/elements/chunks/circle-DGcI8Cft.js +0 -1
- package/dist/elements/chunks/circle-check-DuU0IcBQ.js +0 -1
- package/dist/elements/chunks/collapsible-DGjADCN6.js +0 -1
- package/dist/elements/chunks/define-DfTe4zwZ.js +0 -1
- package/dist/elements/chunks/message-square-CCSQ4M9g.js +0 -1
- package/dist/elements/chunks/reasoning-CW3SDdb4.js +0 -1
- package/dist/elements/chunks/scroll-button-B1x4cYqM.js +0 -1
- package/dist/elements/chunks/tooltip-CBeFqJKk.js +0 -1
- package/dist/elements/chunks/x-DeS3rQhx.js +0 -1
- package/dist/register-impl-CaaHJcea.js +0 -145
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{y as K,x as N,g as $,h as Q,p as T,u as R,i as s,c,P as U,d as z,S as x,a as O,q as n,b as P,t as u,e as V,f as W,w as A}from"./chunks/define-D1din7Ld.js";import{c as D}from"./chunks/cn-CU7UAWzk.js";import{c as X,u as Y}from"./chunks/overlay-kD8dwRv_.js";import{x as Z}from"./chunks/x-GRUeeQFT.js";import{w as ee}from"./chunks/disclosure-CIZ5c8nO.js";var re=u("<span style=display:inline-flex;vertical-align:middle>"),te=u('<div part=arrow aria-hidden=true class="absolute size-2 rotate-45">'),oe=u("<span part=badge>"),ae=u('<div class="flex items-center gap-2"><span part=title class="font-semibold leading-tight">'),ne=u("<div>"),ie=u("<div part=bubble role=dialog style=position:fixed><button type=button part=dismiss aria-label=Dismiss>");const le={top:"bottom",bottom:"top",left:"right",right:"left"},se={primary:{bg:"var(--color-primary)",fg:"var(--color-primary-foreground)"},info:{bg:"var(--color-tool-blue)",fg:"#fff"},success:{bg:"var(--color-tool-green)",fg:"#fff"},warning:{bg:"var(--color-warning-soft)",fg:"var(--color-foreground)"},error:{bg:"var(--color-tool-red)",fg:"#fff"}},de="text-current/70 hover:bg-current/15 hover:text-current",ce="bg-current/20",ue="text-current/85";function ge(t){var g;const w=K(),p=()=>se[t.tone??"primary"],v=N(),[i,B]=$(t.defaultOpen??!1),[L,F]=$(),[G,H]=$(),[I,J]=$(),_=()=>t.open!==void 0,C=()=>_()?!!t.open:i(),E=r=>{var a;_()||B(r),(a=t.onOpenChange)==null||a.call(t,r)};(g=t.controllerRef)==null||g.call(t,{open:C,setOpen:E});const k=X(C),d=Y(L,G,{placement:t.placement??"bottom",gutter:10,arrowEl:I,onDisconnect:()=>E(!1)}),y=()=>le[d.pos().placement.split("-")[0]]??"top",j=()=>{var r;E(!1),(r=t.onDismiss)==null||r.call(t)};return Q(()=>{const r=L();if(!r)return;const a=()=>{C()&&j()};r.addEventListener("click",a),T(()=>r.removeEventListener("click",a))}),[(()=>{var r=re();return R(F,r),s(r,()=>t.children),r})(),c(x,{get when(){return k.present()},get children(){return c(U,{get mount(){return w.portalMount()},get children(){var r=ie(),a=r.firstChild;return R(e=>{H(e),k.setRef(e)},r),z(r,"aria-labelledby",v),s(r,c(x,{get when(){return t.arrow!==!1},get children(){var e=te();return R(J,e),O(o=>{var l=y()==="left"?"-4px":d.arrowPos().x!=null?`${d.arrowPos().x}px`:"",f=y()==="top"?"-4px":d.arrowPos().y!=null?`${d.arrowPos().y}px`:"",m=y()==="right"?"-4px":"",h=y()==="bottom"?"-4px":"",b=`var(--kai-coachmark-bg, ${p().bg})`;return l!==o.e&&n(e,"left",o.e=l),f!==o.t&&n(e,"top",o.t=f),m!==o.a&&n(e,"right",o.a=m),h!==o.o&&n(e,"bottom",o.o=h),b!==o.i&&n(e,"background",o.i=b),o},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),e}}),a),a.$$click=j,s(a,c(Z,{class:"size-3.5","aria-hidden":"true"})),s(r,c(x,{get when(){return t.headline},get children(){var e=ae(),o=e.firstChild;return z(o,"id",v),s(o,()=>t.headline),s(e,c(x,{get when(){return t.badge},get children(){var l=oe();return s(l,()=>t.badge),O(()=>P(l,D("inline-flex items-center rounded-full px-1.5 py-0.5 text-[0.625rem] font-medium uppercase leading-none tracking-wide",ce))),l}}),null),e}}),null),s(r,c(x,{get when(){return t.content},get children(){var e=ne();return s(e,()=>t.content),O(()=>P(e,D(ue,t.headline?"mt-1.5":""))),e}}),null),O(e=>{var o=k.state()==="open"?"":void 0,l=k.state()==="closed"?"":void 0,f=`${d.pos().x}px`,m=`${d.pos().y}px`,h=d.hidden()?"hidden":"visible",b=`var(--kai-coachmark-bg, ${p().bg})`,q=`var(--kai-coachmark-fg, ${p().fg})`,M=D("z-50 w-64 rounded-lg p-3 pr-8 text-sm kai-elevation","animate-in fade-in-0 zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95"),S=D("absolute right-2 top-2 inline-flex size-5 items-center justify-center rounded transition-colors",de);return o!==e.e&&z(r,"data-expanded",e.e=o),l!==e.t&&z(r,"data-closed",e.t=l),f!==e.a&&n(r,"left",e.a=f),m!==e.o&&n(r,"top",e.o=m),h!==e.i&&n(r,"visibility",e.i=h),b!==e.n&&n(r,"background",e.n=b),q!==e.s&&n(r,"color",e.s=q),M!==e.h&&P(r,e.h=M),S!==e.r&&P(a,e.r=S),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),r}})}})]}V(["click"]);var pe=u("<slot>"),ve=u("<slot name=content>");W("kai-coachmark",{open:void 0,defaultOpen:void 0,headline:void 0,badge:void 0,placement:void 0,tone:void 0,arrow:!0},(t,g)=>{const{flag:w,dispatch:p}=g;let v;return ee(g,()=>v,()=>t.open),c(ge,{get defaultOpen(){return w("defaultOpen")},get arrow(){return w("arrow")},get placement(){return t.placement},get tone(){return t.tone},get headline(){return t.headline},get badge(){return t.badge},get content(){return(()=>{var i=ve();return i._$owner=A(),i})()},controllerRef:i=>v=i,onDismiss:()=>p("kai-dismiss",{}),get children(){var i=pe();return i._$owner=A(),i}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as g,
|
|
1
|
+
import{f as g,y as a,c as r,C as i}from"./chunks/define-D1din7Ld.js";import{C as n,a as d}from"./chunks/code-block-BFUHn6Va.js";g("kai-code-block",{code:"",language:void 0,codeTheme:"github-dark-dimmed",codeHighlight:!0,proseSize:"sm"},(e,{flag:t})=>{const o=a();return r(i,{get proseSize(){return e.proseSize},get codeTheme(){return e.codeTheme},get codeHighlight(){return t("codeHighlight")},get portalMount(){return o.portalMount()},get children(){return r(n,{get children(){return r(d,{get code(){return e.code},get language(){return e.language}})}})}})});
|
package/dist/elements/command.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as u,c,F as $,S as f,a as x,d as g,b as R,t as m,e as S,f as A,
|
|
1
|
+
import{i as u,c,F as $,S as f,a as x,d as g,b as R,t as m,e as S,f as A,x as E,g as D,j as w,h as q,o as N}from"./chunks/define-D1din7Ld.js";import{c as F}from"./chunks/cn-CU7UAWzk.js";import{r as H}from"./chunks/icon-BLb8beoi.js";import{K}from"./chunks/kbd-De_xbgi9.js";var O=m("<div>"),T=m('<div class="px-3 py-4 text-center text-sm text-muted-foreground select-none">'),U=m('<div class="px-3 pt-2 pb-1 text-xs font-medium text-muted-foreground select-none">'),B=m('<span class="min-w-0 truncate text-muted-foreground">'),M=m('<button role=option><span class="font-medium whitespace-nowrap shrink-0">'),Q=m('<span part=shortcut class="ml-auto shrink-0 pl-3">');function W(s){const d=()=>s.groups.some(l=>l.items.length>0);return(()=>{var l=O();return u(l,c(f,{get when(){return d()},get fallback(){return(()=>{var o=T();return u(o,()=>s.emptyLabel??"No results"),o})()},get children(){return c($,{get each(){return s.groups},children:o=>c(f,{get when(){return o.items.length>0},get children(){return[c(f,{get when(){return o.group},get children(){var i=U();return u(i,()=>o.group),i}}),c($,{get each(){return o.items},children:i=>(()=>{var a=M(),p=a.firstChild;return a.$$click=()=>s.onSelect(i.id),a.$$mousedown=r=>r.preventDefault(),u(a,c(f,{get when(){return i.icon},children:r=>H(r(),{imgClass:"size-4 shrink-0 rounded object-cover",spanClass:"flex size-4 shrink-0 items-center justify-center text-sm",ariaHidden:!0})}),p),u(p,()=>i.label),u(a,c(f,{get when(){return i.description},get children(){var r=B();return u(r,()=>i.description),r}}),null),u(a,c(f,{get when(){return i.shortcut},children:r=>(()=>{var v=Q();return u(v,c(K,{get keys(){return r()},platform:"auto",size:"sm"})),v})()}),null),x(r=>{var v=i.id===s.activeId,b=F("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",i.id===s.activeId?"bg-muted text-foreground":"text-foreground hover:bg-muted");return v!==r.e&&g(a,"aria-selected",r.e=v),b!==r.t&&R(a,r.t=b),r},{e:void 0,t:void 0}),a})()})]}})})}})),x(o=>{var i=d()?"listbox":void 0,a=d()?s.ariaLabel??"Command palette":void 0,p=s.id;return i!==o.e&&g(l,"role",o.e=i),a!==o.t&&g(l,"aria-label",o.t=a),p!==o.a&&g(l,"id",o.a=p),o},{e:void 0,t:void 0,a:void 0}),l})()}S(["mousedown","click"]);var _=m('<div class="flex flex-col overflow-hidden"><div class="border-b border-border px-3 py-2"><input type=text role=combobox aria-expanded=true aria-haspopup=listbox aria-autocomplete=list class="w-full bg-transparent text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none"></div><div class="overflow-y-auto max-h-[320px]">');A("kai-command",{items:void 0,placeholder:void 0,emptyLabel:void 0},(s,{dispatch:d,element:l,expose:o})=>{const i=E(),[a,p]=D(""),[r,v]=D(void 0),b=()=>s.items??[],y=w(()=>{const e=a().toLowerCase();return e?b().filter(t=>{var n;return t.label.toLowerCase().includes(e)||(((n=t.description)==null?void 0:n.toLowerCase().includes(e))??!1)}):b()}),j=w(()=>{const e=[];for(const t of y()){let n=e.find(h=>h.group===t.group);n||(n={group:t.group,items:[]},e.push(n)),n.items.push({id:t.id,label:t.label,icon:t.icon,description:t.description,shortcut:t.shortcut})}return e}),k=w(()=>y().map(e=>e.id));q(()=>{const e=k(),t=r();(!t||!e.includes(t))&&v(e[0])}),q(N(r,(e,t)=>{e!==t&&d("kai-active-change",{id:e})}));function C(e){d("kai-select",{id:e})}function z(e){const t=e.currentTarget.value;p(t),d("kai-query-change",{value:t})}function I(e){const t=k();if(!t.length)return;const n=r(),h=n!==void 0?t.indexOf(n):-1;if(e.key==="ArrowDown")e.preventDefault(),v(t[(h+1)%t.length]);else if(e.key==="ArrowUp")e.preventDefault(),v(t[(h-1+t.length)%t.length]);else if(e.key==="Enter"){e.preventDefault();const L=r();L!==void 0&&C(L)}else e.key==="Escape"&&(e.preventDefault(),p(""),d("kai-query-change",{value:""}))}return o({focus:e=>{var t,n;return(n=(t=l.shadowRoot)==null?void 0:t.querySelector('input[role="combobox"], input'))==null?void 0:n.focus(e)},blur:()=>{var e,t;return(t=(e=l.shadowRoot)==null?void 0:e.querySelector('input[role="combobox"], input'))==null?void 0:t.blur()},clear:()=>{p(""),d("kai-query-change",{value:""})}}),(()=>{var e=_(),t=e.firstChild,n=t.firstChild,h=t.nextSibling;return n.$$keydown=I,n.$$input=z,g(n,"aria-controls",i),u(h,c(W,{id:i,ariaLabel:"Results",get groups(){return j()},get activeId(){return r()},onSelect:C,get emptyLabel(){return s.emptyLabel??"No results"}})),x(()=>g(n,"placeholder",s.placeholder??"Search\u2026")),x(()=>n.value=a()),e})()}),S(["input","keydown"]);
|
package/dist/elements/compare.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as W,s as X,
|
|
1
|
+
import{m as W,s as X,x as Y,j as v,g as P,h as H,o as j,c as l,E as Z,i as u,S as f,d as A,I as U,a as k,b as C,u as ee,t as m,n as te,e as re,f as ae,y as ne,C as oe}from"./chunks/define-D1din7Ld.js";import{c as T}from"./chunks/cn-CU7UAWzk.js";import{B as ie}from"./chunks/button-ZWNif3--.js";import{C as O}from"./chunks/card-BkHbp4BA.js";import{M as q}from"./chunks/message-BqyXDN3-.js";import{T as de}from"./chunks/text-shimmer-Cn9TmNpI.js";import{c as le}from"./chunks/check-B9-gn6SS.js";function se(e){if(!Array.isArray(e))return{candidates:null,error:"This comparison couldn't be displayed."};if(e.length!==2)return{candidates:null,error:`A comparison needs exactly two candidates (got ${e.length}).`};const d=[],s=new Set;for(const r of e){if(!r||typeof r!="object")return{candidates:null,error:"This comparison couldn't be displayed."};const a=r;if(typeof a.id!="string"||a.id.length===0)return{candidates:null,error:"Each candidate needs a non-empty id."};if(s.has(a.id))return{candidates:null,error:`Duplicate candidate id "${a.id}".`};s.add(a.id),d.push({id:a.id,content:typeof a.content=="string"?a.content:"",reasoning:a.reasoning,tools:Array.isArray(a.tools)?a.tools:void 0,attachments:Array.isArray(a.attachments)?a.attachments:void 0,label:typeof a.label=="string"?a.label:void 0,model:typeof a.model=="string"?a.model:void 0,streaming:a.streaming===!0})}return{candidates:[d[0],d[1]]}}function ce(e,d){const s=e.filter(r=>r.id!==d).map(r=>r.id);return{chosenId:d,rejectedIds:s,at:Date.now()}}function ue(e){return e?e.some(d=>d.streaming===!0):!1}var ge=m('<p class="text-sm text-foreground">'),pe=m('<div role=tablist aria-label="Switch response">'),me=m("<div role=radiogroup>"),ve=m("<div>"),fe=m("<button type=button role=tab>"),he=m('<span class="text-xs font-semibold uppercase tracking-wide text-muted-foreground">'),ye=m('<span class="text-xs text-muted-foreground">'),be=m('<div class="flex items-center gap-2">'),xe=m('<div><div class="min-w-0 flex-1">'),ke=m('<div class="flex flex-col gap-2 rounded-lg border border-input bg-accent/40 p-3"><div class="flex items-center gap-2 text-sm font-medium text-accent-foreground"><span>Selected'),we=m('<p class="text-sm text-muted-foreground">Response selected.'),Se=m("<div class=min-w-0>");function Re(e){const[d,s]=P(void 0);H(j(e.data,()=>s(void 0),{defer:!0}));const r=v(()=>e.prop()??d()),a=v(()=>r()!==void 0),c=v(()=>e.prop()===void 0&&d()!==void 0);return{value:r,isResolved:a,isOptimistic:c,setLocal:s}}function Ae(e){var d;const s=W({compareId:"kai-compare",layout:"auto"},e),[r]=X(s,["data","compareId","selection","layout","class","controllerRef","onSelect","onReady","onError"]),a=Y(),c=v(()=>{var t;return se((t=r.data)==null?void 0:t.candidates)}),h=v(()=>c().candidates!==null),p=v(()=>c().error??""),b=v(()=>c().candidates),x=Re({prop:()=>r.selection,data:()=>r.data}),E=v(()=>ue(b())),[I,w]=P(0),[D,z]=P(0);let $;H(j(()=>r.data,()=>{w(0),z(0)})),H(j([h,E],([t,n])=>{var i,o;if(!t){(i=r.onError)==null||i.call(r,p());return}n||(o=r.onReady)==null||o.call(r)}));const B=v(()=>{var t;return(t=x.value())==null?void 0:t.chosenId}),G=v(()=>{var t;const n=B();return n===void 0||(t=b())==null?void 0:t.find(i=>i.id===n)}),M=t=>{var n;if(x.isResolved()||E())return;const i=b();if(!i)return;const o=ce(i,t.id);(n=r.onSelect)==null||n.call(r,o),x.setLocal(o)},F=(t,n)=>{var i;const o=$?.querySelectorAll('[role="radio"]');(i=o?.[t])==null||i.focus(n)};(d=r.controllerRef)==null||d.call(r,{select:t=>{var n;const i=(n=b())==null?void 0:n.find(o=>o.id===t);i&&M(i)},focus:t=>F(I(),t)});const _=t=>{if(x.isResolved())return;const n=b();if(!n)return;const i=o=>{w(o),z(o),F(o)};if(t.key==="ArrowRight"||t.key==="ArrowDown"||t.key==="ArrowLeft"||t.key==="ArrowUp")t.preventDefault(),i(I()===0?1:0);else if(t.key==="Home")t.preventDefault(),i(0);else if(t.key==="End")t.preventDefault(),i(1);else if(t.key===" "||t.key==="Enter"){t.preventDefault();const o=n[I()];o&&M(o)}},J=v(()=>{const t=r.layout;return t==="columns"?"grid grid-cols-2 gap-3":t==="tabs"?"grid grid-cols-1 gap-3":"grid grid-cols-1 gap-3 @[640px]/compare:grid-cols-2"}),K=()=>r.layout==="tabs"||r.layout==="auto",N=()=>r.layout==="auto"?"@[640px]/compare:hidden":"",Q=t=>{const n=r.layout;return n==="columns"||t===D()?"":n==="tabs"?"hidden":"hidden @[640px]/compare:block"},L=`kai-compare-prompt-${a}`,V=()=>{var t;return((t=r.data)==null?void 0:t.prompt)??"Compare two responses"};return l(f,{get when(){return h()},get fallback(){return l(O,{get errorMessage(){return p()||"This comparison couldn't be displayed."}})},get children(){return l(Z,{fallback:()=>{var t;return(t=r.onError)==null||t.call(r,"The comparison failed to render."),l(O,{errorMessage:"The comparison failed to render."})},get children(){var t=ve();return u(t,l(f,{get when(){var n;return(n=r.data)==null?void 0:n.prompt},get children(){var n=ge();return A(n,"id",L),u(n,()=>{var i;return(i=r.data)==null?void 0:i.prompt}),n}}),null),u(t,l(f,{get when(){return!x.isResolved()},get fallback(){return l(Ie,{get candidate(){return G()},get optimistic(){return x.isOptimistic()}})},get children(){return[l(f,{get when(){return K()},get children(){var n=pe();return u(n,l(U,{get each(){return b()??[]},children:(i,o)=>(()=>{var g=fe();return g.$$click=()=>{z(o),w(o)},u(g,()=>i().label??`Response ${i().id}`),k(y=>{var S=D()===o,R=T("rounded-md px-3 py-1 text-xs font-medium transition-colors",D()===o?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground");return S!==y.e&&A(g,"aria-selected",y.e=S),R!==y.t&&C(g,y.t=R),y},{e:void 0,t:void 0}),g})()})),k(()=>C(n,T("flex gap-1",N()))),n}}),(()=>{var n=me();n.$$keydown=_;var i=$;return typeof i=="function"?ee(i,n):$=n,u(n,l(U,{get each(){return b()??[]},children:(o,g)=>l(Ce,{get candidate(){return o()},get tabStop(){return g===I()},get disabled(){return E()},hiddenClass:()=>Q(g),onFocus:()=>w(g),onPick:()=>{w(g),M(o())}})})),k(o=>{var g,y=V(),S=(g=r.data)!=null&&g.prompt?L:void 0,R=J();return y!==o.e&&A(n,"aria-label",o.e=y),S!==o.t&&A(n,"aria-describedby",o.t=S),R!==o.a&&C(n,o.a=R),o},{e:void 0,t:void 0,a:void 0}),n})()]}}),null),k(()=>C(t,T("flex flex-col gap-3",r.layout==="auto"&&"@container/compare",r.class))),t}})}})}function Ce(e){const d=()=>e.candidate.label??e.candidate.model??e.candidate.id;return(()=>{var s=xe(),r=s.firstChild;return u(s,l(f,{get when(){return e.candidate.label||e.candidate.model},get children(){var a=be();return u(a,l(f,{get when(){return e.candidate.label},get children(){var c=he();return u(c,()=>e.candidate.label),c}}),null),u(a,l(f,{get when(){return e.candidate.model},get children(){var c=ye();return u(c,()=>e.candidate.model),c}}),null),a}}),r),u(r,l(f,{get when(){return e.candidate.streaming},get fallback(){return l(q,{get content(){return e.candidate.content},get reasoning(){return e.candidate.reasoning},get tools(){return e.candidate.tools},get attachments(){return e.candidate.attachments},isUser:!1,markdown:!0})},get children(){return l(de,{class:"text-sm",children:"Generating response\u2026"})}})),u(s,l(ie,{type:"button",role:"radio","aria-checked":!1,get"aria-label"(){return`Pick ${d()}`},get"data-candidate-id"(){return e.candidate.id},variant:"outline",size:"sm",class:"mt-auto w-full",get disabled(){return e.disabled},get tabindex(){return e.tabStop?0:-1},get onFocus(){return e.onFocus},onClick:a=>{a.stopPropagation(),e.onPick()},children:"Pick this"}),null),k(()=>{var a;return C(s,T("flex min-w-0 flex-col gap-3 rounded-lg border border-input bg-background/40 p-3",(a=e.hiddenClass)==null?void 0:a.call(e)))}),s})()}function Ie(e){return(()=>{var d=ke(),s=d.firstChild,r=s.firstChild;return r.firstChild,u(s,l(le,{size:16,"aria-hidden":"true"}),r),u(r,(()=>{var a=te(()=>{var c;return!!((c=e.candidate)!=null&&c.label)});return()=>a()?`: ${e.candidate.label}`:""})(),null),u(d,l(f,{get when(){return e.candidate},get fallback(){return we()},children:a=>(()=>{var c=Se();return u(c,l(q,{get content(){return a().content},get reasoning(){return a().reasoning},get tools(){return a().tools},get attachments(){return a().attachments},isUser:!1,markdown:!0})),c})()}),null),k(()=>A(d,"role",e.optimistic?"status":void 0)),d})()}re(["keydown","click"]),ae("kai-compare",{data:void 0,compareId:void 0,selection:void 0,layout:"auto",proseSize:void 0,codeTheme:void 0,codeHighlight:void 0},(e,{element:d,dispatch:s,expose:r})=>{const a=()=>e.compareId??(d.id||"kai-compare"),c=ne();let h;return r({select:p=>h?.select(p),focus:p=>h?.focus(p)}),l(oe,{get proseSize(){return e.proseSize},get codeTheme(){return e.codeTheme},get codeHighlight(){return e.codeHighlight},get portalMount(){return c.portalMount()},get children(){return l(Ae,{get data(){return e.data},get compareId(){return a()},get selection(){return e.selection},get layout(){return e.layout??"auto"},controllerRef:p=>h=p,onSelect:p=>s("kai-compare-select",p),onReady:()=>s("kai-ready",{compareId:a()}),onError:p=>s("kai-error",{compareId:a(),message:p})})}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as d,g as u,c as s}from"./chunks/define-
|
|
1
|
+
import{f as d,g as u,c as s}from"./chunks/define-D1din7Ld.js";import{C as c}from"./chunks/composer-BguS0QL_.js";function v(e,r,n){var o;return{id:e.getAttribute("item-id")??"",label:((o=e.textContent)==null?void 0:o.trim())||e.getAttribute("label")||e.getAttribute("item-id")||"",icon:e.getAttribute("icon")??void 0,promptText:e.getAttribute("prompt-text")??void 0,data:void 0}}d("kai-composer",{value:void 0,placeholder:void 0,disabled:!1,loading:!1,maxHeight:240,submitOnEnter:!0,triggers:void 0,highlights:void 0,kindIcons:void 0},(e,{dispatch:r,flag:n,expose:o})=>{const[l,g]=u(e.value),a=()=>e.value??l();let i;return o({focus:t=>i?.focus(t),blur:()=>i?.blur(),clear:()=>i?.clear(),send:()=>i?.send(),insertEntity:t=>i?.insertEntity(t)}),s(c,{get value(){return a()},get placeholder(){return e.placeholder},get disabled(){return n("disabled")},get loading(){return n("loading")},get maxHeight(){return e.maxHeight},get submitOnEnter(){return n("submitOnEnter")},get triggers(){return e.triggers},get highlights(){return e.highlights},get kindIcons(){return e.kindIcons},onChange:t=>{g(t.doc),r("kai-value-change",{doc:t.doc,text:t.text,entities:t.entities})},onSubmit:t=>{r("kai-submit",{doc:t.doc,text:t.text,entities:t.entities})},onEntityAdd:t=>r("kai-entity-add",{entity:t}),onEntityRemove:t=>r("kai-entity-remove",{entity:t}),onTrigger:t=>r("kai-trigger",t),onTriggerClose:()=>r("kai-trigger-close",{}),onFocus:t=>r("kai-focus",{originalEvent:t}),onBlur:t=>r("kai-blur",{originalEvent:t}),controllerRef:t=>i=t})});export{v as parseKaiTriggerItemElement};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as N,s as O,j as m,h as T,o as F,k as H,c as o,E as L,S as v,i as c,a as $,b as U,d as z,F as G,u as A,t as h,e as J,f as K}from"./chunks/define-
|
|
1
|
+
import{m as N,s as O,j as m,h as T,o as F,k as H,c as o,E as L,S as v,i as c,a as $,b as U,d as z,F as G,u as A,t as h,e as J,f as K}from"./chunks/define-D1din7Ld.js";import{c as P}from"./chunks/cn-CU7UAWzk.js";import{B as j}from"./chunks/button-ZWNif3--.js";import{C as x}from"./chunks/card-BkHbp4BA.js";import{u as Q,a as V,D as W}from"./chunks/use-card-resolution-BSu_XHjH.js";import{e as X}from"./chunks/card-routing-C986KuUA.js";import{t as Y}from"./chunks/triangle-alert-DsHTHCPm.js";import{c as Z}from"./chunks/check-B9-gn6SS.js";import{x as _}from"./chunks/x-GRUeeQFT.js";var ee=h('<div class="flex items-center gap-2 text-sm font-medium text-destructive dark:text-red-400"><span>Heads up'),te=h('<p class="text-sm font-semibold text-foreground">'),re=h('<p class="text-sm text-foreground">'),ae=h("<div>"),ne=h('<div class="flex w-full flex-wrap items-center justify-between gap-2"><div class="ml-auto flex flex-wrap items-center gap-2">'),ie=h('<div class="ml-auto flex items-center gap-2 text-sm font-medium text-foreground"><span>');const oe="confirm",de=new Set(["primary","default","destructive"]);function se(d){switch(d){case"primary":return"default";case"destructive":return"destructive";case"default":case void 0:return"outline";default:return console.warn(`[kai-confirm] unknown action style "${d}"; using default`),"outline"}}function le(d){if(!Array.isArray(d)||d.length===0)return{actions:[],error:"This card couldn't be displayed."};const l=new Set,r=[];for(const g of d){if(!g||typeof g!="object")continue;const a=g;if(typeof a.id!="string"||a.id.length===0||typeof a.label!="string"||a.label.length===0)continue;if(l.has(a.id)){console.warn(`[kai-confirm] duplicate action id "${a.id}" ignored`);continue}l.add(a.id);const s=de.has(a.style)?a.style:void 0;a.style!==void 0&&s===void 0&&console.warn(`[kai-confirm] unknown action style "${String(a.style)}"; using default`),r.push({id:a.id,label:a.label,style:s,payload:a.payload,default:a.default===!0})}return r.length===0?{actions:[],error:"This card couldn't be displayed."}:{actions:r}}function ue(d){var l;return(l=d.find(r=>r.default))==null?void 0:l.id}function ce(d){const l=N({cardId:"kai-confirm",autofocus:!1},d),[r]=O(l,["data","cardId","heading","host","hostElement","autofocus","class","resolution","controllerRef"]),g=Q(),a=e=>{const i=r.host??g;i?i.emit(e):r.hostElement&&X(r.hostElement,e)},s=m(()=>{var e;return le((e=r.data)==null?void 0:e.actions)}),I=m(()=>s().error===void 0),E=m(()=>s().error??""),p=m(()=>s().actions),q=()=>{var e;return((e=r.data)==null?void 0:e.tone)??"default"},D=()=>q()==="danger",k=m(()=>ue(p())),f=V({prop:()=>r.resolution,data:()=>r.data}),M=m(()=>{const e=f.resolution();if(!e||e.kind!=="action")return;const i=p().find(t=>t.id===e.action);return{label:i?.label??e.action}});T(F(I,e=>{a(e?{kind:"ready",cardId:r.cardId}:{kind:"error",cardId:r.cardId,message:E()})}));const b=e=>{f.isResolved()||(a({kind:"action",cardId:r.cardId,action:e.id,...e.payload!==void 0?{payload:e.payload}:{}}),f.setLocal({kind:"action",action:e.id,...e.payload!==void 0?{payload:e.payload}:{}}))},R=()=>{f.isResolved()||(a({kind:"dismiss",cardId:r.cardId}),f.setLocal({kind:"dismissed"}))},C=()=>a({kind:"reopen",cardId:r.cardId});let S,y;const B=()=>y?y.querySelector('button[data-kai-default="true"]')??y.querySelector("button[data-action-id]"):null;return H(()=>{var e;(e=r.controllerRef)==null||e.call(r,{focus:i=>{var t;return(t=B())==null?void 0:t.focus(i)},confirm:i=>{const t=p(),n=i??k();if(n===void 0)return;const u=t.find(w=>w.id===n);u&&b(u)},dismiss:()=>R(),reopen:()=>C()})}),T(()=>{const e=r.hostElement;if(!e)return;const i=f.resolution();i&&i.kind==="action"?e.setAttribute("data-kai-resolved",i.action):e.removeAttribute("data-kai-resolved")}),o(v,{get when(){return I()},get fallback(){return o(x,{get heading(){return r.heading},get errorMessage(){return E()}})},get children(){return o(L,{fallback:()=>(a({kind:"error",cardId:r.cardId,message:"The card failed to render."}),o(x,{get heading(){return r.heading},errorMessage:"The card failed to render."})),get children(){return o(v,{get when(){return!f.isDeferred()},get fallback(){return o(W,{type:oe,get title(){return r.heading},onReopen:C})},get children(){return o(x,{get heading(){return r.heading},get actions(){return o(v,{get when(){return!f.isResolved()},get fallback(){return(()=>{var e=ie(),i=e.firstChild;return c(e,o(Z,{size:16,"aria-hidden":"true"}),i),c(i,()=>{var t;return(t=M())==null?void 0:t.label}),$(()=>z(e,"role",f.isOptimistic()?"status":void 0)),e})()},get children(){var e=ne(),i=e.firstChild;c(e,o(v,{get when(){var n;return((n=r.data)==null?void 0:n.dismissible)===!0},get children(){return o(j,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Dismiss",onClick:R,get children(){return o(_,{size:16,"aria-hidden":"true"})}})}}),i);var t=y;return typeof t=="function"?A(t,i):y=i,c(i,o(G,{get each(){return p()},children:n=>o(j,{type:"button",get variant(){return se(n.style)},get"data-action-id"(){return n.id},get"data-kai-default"(){return n.default?"true":void 0},ref:u=>{r.autofocus&&n.id===k()&&queueMicrotask(()=>u.focus())},onClick:()=>b(n),get children(){return n.label}})})),e}})},get children(){var e=ae();e.$$keydown=t=>{if(t.key!=="Enter"||t.target.tagName==="BUTTON")return;const n=k();if(n===void 0)return;const u=p().find(w=>w.id===n);u&&b(u)};var i=S;return typeof i=="function"?A(i,e):S=e,c(e,o(v,{get when(){return D()},get children(){var t=ee(),n=t.firstChild;return c(t,o(Y,{size:16,class:"shrink-0","aria-hidden":"true"}),n),t}}),null),c(e,o(v,{get when(){var t;return(t=r.data)==null?void 0:t.heading},get children(){var t=te();return c(t,()=>{var n;return(n=r.data)==null?void 0:n.heading}),t}}),null),c(e,o(v,{get when(){var t;return(t=r.data)==null?void 0:t.body},get children(){var t=re();return c(t,()=>{var n;return(n=r.data)==null?void 0:n.body}),t}}),null),$(t=>{var n=P("flex flex-col gap-2",r.class),u=k()!==void 0?0:void 0;return n!==t.e&&U(e,t.e=n),u!==t.t&&z(e,"tabindex",t.t=u),t},{e:void 0,t:void 0}),e}})}})}})}})}J(["keydown"]),K("kai-confirm",{data:void 0,cardId:void 0,heading:void 0,autofocus:!1,resolution:void 0},(d,{element:l,flag:r,expose:g})=>{let a;return g({focus:s=>a?.focus(s),confirm:s=>a?.confirm(s),dismiss:()=>a?.dismiss(),reopen:()=>a?.reopen()}),o(ce,{get data(){return d.data},get cardId(){return d.cardId??(l.id||"kai-confirm")},get heading(){return d.heading},get autofocus(){return r("autofocus")},get resolution(){return d.resolution},controllerRef:s=>a=s,hostElement:l})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as d,j as g,h as i,o as l,c as t,i as r,S as s,t as T}from"./chunks/define-
|
|
1
|
+
import{f as d,j as g,h as i,o as l,c as t,i as r,S as s,t as T}from"./chunks/define-D1din7Ld.js";import{h as k,C as x,a as m,b as v,c as p,d as w,e as f,f as C,i as j,j as D,g as S,D as b,k as y}from"./chunks/context-Cb7k4F-v.js";var E=T("<div class=space-y-1.5>");d("kai-context",{context:void 0,warnThreshold:void 0,dangerThreshold:void 0},(e,{dispatch:c})=>{const o=()=>e.warnThreshold??b,a=()=>e.dangerThreshold??y,h=g(()=>{const n=e.context;return n?k(n.usedTokens/n.maxTokens,o(),a()):"ok"});return i(l(h,(n,u)=>{u!==void 0&&n!==u&&c("kai-threshold-change",{level:n})})),t(s,{get when(){return e.context},get children(){return t(x,{get usedTokens(){return e.context.usedTokens},get maxTokens(){return e.context.maxTokens},get inputTokens(){return e.context.inputTokens},get outputTokens(){return e.context.outputTokens},get reasoningTokens(){return e.context.reasoningTokens},get cacheTokens(){return e.context.cacheTokens},get estimatedCost(){return e.context.estimatedCost},get warnThreshold(){return o()},get dangerThreshold(){return a()},get children(){return[t(m,{}),t(v,{get children(){return[t(p,{}),t(w,{get children(){var n=E();return r(n,t(f,{}),null),r(n,t(C,{}),null),r(n,t(s,{get when(){return e.context.reasoningTokens},get children(){return t(j,{})}}),null),r(n,t(s,{get when(){return e.context.cacheTokens},get children(){return t(D,{})}}),null),n}}),t(S,{})]}})]}})}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as y,g as v,k as I,p as x,c,n as d,
|
|
1
|
+
import{f as y,g as v,k as I,p as x,c,n as d,w as u,S as A,t as g}from"./chunks/define-D1din7Ld.js";import{c as O,C as _,a as $}from"./chunks/conversation-list-CvoAkWhN.js";import{r as q,a as E}from"./chunks/slots--V19HwUb.js";var M=g("<slot name=header>"),R=g("<slot name=footer>"),D=g("<slot name=empty>");function f(r){var t;return{id:r.getAttribute("id")??"",title:((t=r.textContent)==null?void 0:t.trim())??"",groupId:r.getAttribute("group-id")??void 0,scope:{type:"collection"},messageCount:0,lastMessageAt:new Date(0).toISOString(),updatedAt:new Date(0).toISOString()}}y("kai-conversations",{groups:[],conversations:[],activeId:void 0,collapsed:void 0,defaultCollapsed:void 0},(r,{dispatch:t,element:s,expose:m,flag:h})=>{const[w,k]=v([]),[l,S]=v({});I(()=>{const e=()=>{const i=[...s.querySelectorAll("kai-conversation")];k(i.map(f)),S(q(s,E))};e();const n=new MutationObserver(e);n.observe(s,{childList:!0,attributes:!0,subtree:!0}),x(()=>n.disconnect())});const b=()=>[...r.conversations??[],...w()],[p,C]=O(()=>r.collapsed,h("defaultCollapsed")),o=e=>{C(e),t("kai-collapse-toggle",{collapsed:e})};let a;return m({focus:e=>{var n,i;a?a.focus(e):(i=(n=s.shadowRoot)==null?void 0:n.querySelector("input"))==null||i.focus(e)},clear:()=>a?.clearSearch(),select:e=>t("kai-conversation-select",{id:e}),collapse:()=>o(!0),expand:()=>o(!1),toggle:()=>o(!p())}),c(A,{get when(){return!p()},get fallback(){return c($,{onExpand:()=>o(!1)})},get children(){return c(_,{get groups(){return r.groups},get conversations(){return b()},get activeId(){return r.activeId},onSelect:e=>t("kai-conversation-select",{id:e}),onNewChat:()=>t("kai-new-chat"),onToggleSidebar:()=>{t("kai-toggle-sidebar"),o(!0)},onSearchChange:e=>t("kai-search",{query:e}),controllerRef:e=>a=e,get header(){return d(()=>!!l().header)()?(()=>{var e=M();return e._$owner=u(),e})():void 0},get footer(){return d(()=>!!l().footer)()?(()=>{var e=R();return e._$owner=u(),e})():void 0},get empty(){return d(()=>!!l().empty)()?(()=>{var e=D();return e._$owner=u(),e})():void 0}})}})});export{f as parseKaiConversationElement};
|
|
@@ -35,6 +35,17 @@ export interface WebComponentContext<E = Record<string, unknown>> {
|
|
|
35
35
|
* convention). Methods are attached when the facade renders (on element upgrade).
|
|
36
36
|
*/
|
|
37
37
|
expose: (methods: Record<string, (...args: never[]) => unknown>) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the element should currently render its dark-mode look --
|
|
40
|
+
* exactly the SAME resolved value that already drives the `.dark` class
|
|
41
|
+
* every facade's content sits inside (not a second computation of the
|
|
42
|
+
* `theme='light'|'dark'|'auto'` rule; see `createDarkMode` above). Most
|
|
43
|
+
* facades never need this directly, since the injected kit CSS already
|
|
44
|
+
* flips its custom properties under `.dark`. It exists for content that
|
|
45
|
+
* cannot read CSS at all -- e.g. a WebGL shader baking a colour choice
|
|
46
|
+
* into a GLSL uniform, which is why `kai-audio-visualizer` reads it.
|
|
47
|
+
*/
|
|
48
|
+
dark: () => boolean;
|
|
38
49
|
}
|
|
39
50
|
type FacadeComponent<P, E> = (props: P, ctx: WebComponentContext<E>) => JSX.Element;
|
|
40
51
|
/**
|
package/dist/elements/dialog.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{y as W,g as $,x as B,h as F,c as x,P as G,u as L,i as w,S as O,d as p,a as I,b as j,t as h,e as J,f as N,k as Q,p as U,w as E,n as z}from"./chunks/define-D1din7Ld.js";import{c as D}from"./chunks/cn-CU7UAWzk.js";import{c as V}from"./chunks/overlay-kD8dwRv_.js";import{w as X}from"./chunks/disclosure-CIZ5c8nO.js";var Y=h('<header part=header class="shrink-0 border-b border-border px-5 py-4 text-base font-semibold text-foreground">'),Z=h('<footer part=footer class="flex shrink-0 items-center justify-end gap-2 border-t border-border px-5 py-3">'),ee=h('<div part=backdrop><div part=panel role=dialog aria-modal=true tabindex=-1><div part=body class="min-h-0 flex-1 overflow-auto px-5 py-4 text-sm text-foreground">');const _=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])','[tabindex]:not([tabindex="-1"])'].join(",");function te(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&getComputedStyle(t).visibility!=="hidden"}function oe(t){const a=[],u=f=>{for(const i of Array.from(f.children))if(i instanceof HTMLSlotElement)for(const d of i.assignedElements())d instanceof HTMLElement&&(d.matches(_)&&a.push(d),u(d));else i instanceof HTMLElement&&(i.matches(_)&&a.push(i),u(i))};return u(t),a.filter(te)}function P(){var t;let a=document.activeElement;for(;(t=a?.shadowRoot)!=null&&t.activeElement;)a=a.shadowRoot.activeElement;return a}function ne(t){var a;const u=W(),[f,i]=$(t.defaultOpen??!1),d=`kai-dialog-title-${B()}`,v=()=>t.open!==void 0,m=()=>v()?!!t.open:f(),b=o=>{var n;v()||i(o),(n=t.onOpenChange)==null||n.call(t,o)};(a=t.controllerRef)==null||a.call(t,{open:m,setOpen:b});const c=V(m);let y,l,r=null,k=!1;F(o=>{const n=m();if(n&&!o)r=P(),queueMicrotask(()=>l?.focus());else if(!n&&o){const s=r;r=null,s&&s.isConnected&&queueMicrotask(()=>s.focus())}return n},!1);const A=o=>{if(o.key==="Escape"){o.stopPropagation(),b(!1);return}if(o.key!=="Tab"||!l)return;const n=oe(l);if(!n.length){o.preventDefault(),l.focus();return}const s=P(),e=s?n.indexOf(s):-1;o.shiftKey?e<=0&&(o.preventDefault(),n[n.length-1].focus()):(e===-1||e===n.length-1)&&(o.preventDefault(),n[0].focus())},K=o=>{k&&o.target===y&&b(!1),k=!1};return x(O,{get when(){return c.present()},get children(){return x(G,{get mount(){return u.portalMount()},get children(){var o=ee(),n=o.firstChild,s=n.firstChild;return o.$$keydown=A,o.$$click=K,o.$$pointerdown=e=>{k=e.target===e.currentTarget},L(e=>{y=e,c.setRef(e)},o),L(e=>{var g;l=e,(g=t.panelRef)==null||g.call(t,e)},n),w(n,x(O,{get when(){return t.header},get children(){var e=Y();return p(e,"id",d),w(e,()=>t.header),e}}),s),w(s,()=>t.children),w(n,x(O,{get when(){return t.footer},get children(){var e=Z();return w(e,()=>t.footer),e}}),null),I(e=>{var g=c.state()==="open"?"":void 0,M=c.state()==="closed"?"":void 0,R=D("fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4","animate-in fade-in-0 data-[closed]:animate-out data-[closed]:fade-out-0 motion-reduce:animate-none"),C=t.header?d:void 0,S=t.header?void 0:t["aria-label"],T=c.state()==="open"?"":void 0,q=c.state()==="closed"?"":void 0,H=D("flex max-h-[85vh] w-full max-w-lg flex-col overflow-hidden rounded-xl border border-border bg-background text-foreground shadow-xl outline-none","animate-in fade-in-0 zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95 motion-reduce:animate-none",t.class);return g!==e.e&&p(o,"data-expanded",e.e=g),M!==e.t&&p(o,"data-closed",e.t=M),R!==e.a&&j(o,e.a=R),C!==e.o&&p(n,"aria-labelledby",e.o=C),S!==e.i&&p(n,"aria-label",e.i=S),T!==e.n&&p(n,"data-expanded",e.n=T),q!==e.s&&p(n,"data-closed",e.s=q),H!==e.h&&j(n,e.h=H),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),o}})}})}J(["pointerdown","click","keydown"]);var re=h("<slot>"),ae=h("<slot name=header>"),ie=h("<slot name=footer>");N("kai-dialog",{open:void 0,defaultOpen:void 0},(t,a)=>{const{flag:u,element:f,expose:i}=a;let d,v;X(a,()=>d,()=>t.open);const[m,b]=$(!1),[c,y]=$(!1),l=()=>{b(!!f.querySelector(':scope > [slot="header"]')),y(!!f.querySelector(':scope > [slot="footer"]'))};return Q(()=>{if(l(),typeof MutationObserver=="function"){const r=new MutationObserver(l);r.observe(f,{childList:!0}),U(()=>r.disconnect())}}),i({focus:r=>v?.focus(r)}),x(ne,{get defaultOpen(){return u("defaultOpen")},get header(){return z(()=>!!m())()?(()=>{var r=ae();return r._$owner=E(),r})():void 0},get footer(){return z(()=>!!c())()?(()=>{var r=ie();return r._$owner=E(),r})():void 0},controllerRef:r=>d=r,panelRef:r=>v=r,get children(){var r=re();return r._$owner=E(),r}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as y,h as g,i as E,c as k,a as D,d as q,b as S,S as C,t as x,
|
|
1
|
+
import{g as y,h as g,i as E,c as k,a as D,d as q,b as S,S as C,t as x,G as p,u as R,e as K,f as j}from"./chunks/define-D1din7Ld.js";import{c as $}from"./chunks/cn-CU7UAWzk.js";import{I as F}from"./chunks/input-Dds1kFyt.js";var I=x("<span>"),T=x("<span part=text>");function V(a){const[s,r]=y(!!a.editing);g(()=>r(!!a.editing));const[n,u]=y(a.value);g(()=>u(a.value));let c,l=!1;const f=()=>{const e=c?.querySelector("input");e&&(e.focus(),e.select())};g(()=>{s()&&queueMicrotask(f)});const m=()=>{a.disabled||r(!0)},v=e=>{var d;p(s)&&(r(!1),e!==p(n)&&(u(e),(d=a.onRename)==null||d.call(a,e)))},o=()=>{var e;p(s)&&(r(!1),(e=a.onCancel)==null||e.call(a))},h=e=>{const d=e.currentTarget;e.key==="Enter"?(e.preventDefault(),l=!0,v(d.value)):e.key==="Escape"&&(e.preventDefault(),l=!0,o())},t=e=>{if(l){l=!1;return}v(e)};return(()=>{var e=I(),d=c;return typeof d=="function"?R(d,e):c=e,E(e,k(C,{get when(){return s()},get fallback(){return(()=>{var b=T();return b.$$keydown=i=>{!a.disabled&&(i.key==="Enter"||i.key==="F2")&&(i.preventDefault(),m())},b.$$dblclick=m,E(b,()=>n()||a.placeholder||""),D(i=>{var A=a.disabled?void 0:0,w=$("inline-block max-w-full truncate rounded px-1 py-0.5 text-sm text-foreground",a.disabled?"cursor-default opacity-60":"cursor-text hover:bg-muted",!n()&&"text-muted-foreground");return A!==i.e&&q(b,"tabindex",i.e=A),w!==i.t&&S(b,i.t=w),i},{e:void 0,t:void 0}),b})()},get children(){return k(F,{get value(){return n()},get placeholder(){return a.placeholder},get disabled(){return a.disabled},size:"sm",class:"h-7 py-0",get"aria-label"(){return a.placeholder??"Edit label"},onKeyDown:h,onValueChange:t})}})),D(()=>S(e,$("inline-flex max-w-full items-center",a.class))),e})()}K(["dblclick","keydown"]);var z=x("<style>:host{display:inline-flex}");j("kai-editable-label",{value:void 0,editing:!1,placeholder:void 0,disabled:!1},(a,s)=>{const{element:r,dispatch:n,flag:u,expose:c}=s,[l,f]=y(a.value??r.getAttribute("value")??""),m=t=>t==null?r.getAttribute("value")??"":String(t);Object.defineProperty(r,"value",{get:()=>l(),set:t=>{const e=m(t);p(l)!==e&&f(e)},configurable:!0,enumerable:!0}),g(()=>{const t=l();t?r.getAttribute("value")!==t&&r.setAttribute("value",t):r.hasAttribute("value")&&r.removeAttribute("value")});const[v,o]=y(u("editing"));g(()=>o(u("editing"))),g(()=>{v()?r.hasAttribute("editing")||r.setAttribute("editing",""):r.hasAttribute("editing")&&r.removeAttribute("editing")});const h=()=>{var t;return((t=r.shadowRoot)==null?void 0:t.querySelector("input"))??null};return c({edit:()=>{u("disabled")||o(!0)},commit:()=>{var t;(t=h())==null||t.blur()},cancel:()=>{const t=h();t?t.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape",bubbles:!0,composed:!0})):p(v)&&(o(!1),n("kai-cancel",{}))}}),[z(),k(V,{get value(){return l()},get editing(){return v()},get placeholder(){return a.placeholder},get disabled(){return u("disabled")},onRename:t=>{o(!1),t!==p(l)&&(f(t),n("kai-rename",{value:t}))},onCancel:()=>{o(!1),n("kai-cancel",{})}})]});
|
package/dist/elements/embed.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as i,m as A,s as G,g as D,j as h,k as H,h as M,o as N,l as J,i as u,S as w,u as K,a as y,d as m,
|
|
1
|
+
import{c as i,m as A,s as G,g as D,j as h,k as H,h as M,o as N,l as J,i as u,S as w,u as K,a as y,d as m,q as Q,t as f,e as W,f as X}from"./chunks/define-D1din7Ld.js";import{c as ee}from"./chunks/cn-CU7UAWzk.js";import{I as re}from"./chunks/Icon-Tj58ES_d.js";import{e as te}from"./chunks/external-link-Vt74zAoL.js";import{t as oe}from"./chunks/triangle-alert-DsHTHCPm.js";import{v as ae}from"./chunks/video-B7vmenoC.js";import{e as ne}from"./chunks/card-routing-C986KuUA.js";var ie=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],se=e=>i(re,A(e,{name:"Play",iconNode:ie})),le=se;const x="allow-scripts allow-same-origin allow-presentation allow-popups allow-popups-to-escape-sandbox",$="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen",ue=new Set;function ce(e){const r=O(e);return r!==void 0&&ue.has(r)}function O(e){try{return new URL(e).origin}catch{return}}function T(e){let r;try{r=new URL(e)}catch{return}const a=r.hostname.replace(/^www\./,"");if(a==="youtu.be")return E(r.pathname.slice(1));if(a==="youtube.com"||a==="m.youtube.com"||a==="youtube-nocookie.com"){const s=r.searchParams.get("v");if(s)return E(s);const g=r.pathname.match(/^\/(?:shorts|embed|v)\/([^/?#]+)/);if(g)return E(g[1])}}function V(e){let r;try{r=new URL(e)}catch{return}const a=r.hostname.replace(/^www\./,"");if(a!=="vimeo.com"&&a!=="player.vimeo.com")return;const s=r.pathname.match(/(?:^|\/)(\d+)(?:\/|$)/);return s?s[1]:void 0}function E(e){return/^[A-Za-z0-9_-]+$/.test(e)?e:void 0}function de(e){const r=e.start?`&start=${e.start}`:"";switch(e.provider){case"youtube":{const a=e.id??(e.url?T(e.url):void 0);if(!a)throw new Error("youtube embed: missing or unparseable id/url");return{embedUrl:`https://www.youtube-nocookie.com/embed/${a}?autoplay=1&rel=0${r}`,posterUrl:e.poster??`https://i.ytimg.com/vi/${a}/hqdefault.jpg`,sandbox:x,allow:$}}case"vimeo":{const a=e.id??(e.url?V(e.url):void 0);if(!a)throw new Error("vimeo embed: missing or unparseable id/url");return{embedUrl:`https://player.vimeo.com/video/${a}?autoplay=1&dnt=1${e.start?`#t=${e.start}s`:""}`,posterUrl:e.poster,sandbox:x,allow:$}}case"generic":{if(!e.url)throw new Error("generic embed: missing url");if(me(e.url),!ce(e.url))throw new Error(`generic embed: origin not allowlisted \u2014 call configureEmbedAllowlist([...]) to permit ${O(e.url)??e.url}`);return{embedUrl:e.url,posterUrl:e.poster,sandbox:x,allow:$}}}}function me(e){let r;try{r=new URL(e).protocol}catch{throw new Error(`generic embed: invalid url "${e}"`)}if(r!=="https:")throw new Error(`generic embed: only https player URLs are allowed (got ${r})`)}function fe(e){switch(e.provider){case"youtube":{const r=e.id??(e.url?T(e.url):void 0);return r?`https://www.youtube.com/watch?v=${r}`:e.url}case"vimeo":{const r=e.id??(e.url?V(e.url):void 0);return r?`https://vimeo.com/${r}`:e.url}case"generic":return e.url}}function pe(e){switch(e){case"youtube":return"YouTube";case"vimeo":return"Vimeo";case"generic":return"site"}}function ve(e){switch(e){case"4:3":return"4 / 3";case"1:1":return"1 / 1";case"9:16":return"9 / 16";default:return"16 / 9"}}var be=f('<div tabindex=-1 class="absolute inset-0 outline-none"><iframe allowfullscreen class="absolute inset-0 h-full w-full border-0">'),ge=f('<button type=button class="inline-flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring">Open on '),he=f('<div><div class="relative w-full bg-black"></div><div class="flex items-center justify-between gap-2 px-3 py-2"><span class="flex min-w-0 items-center gap-1.5 text-sm text-foreground"><span class=truncate>'),we=f(`<div role=img aria-label="Can't load this video"class="absolute inset-0 flex flex-col items-center justify-center gap-2 bg-muted p-4 text-center text-sm text-muted-foreground"><span>Can't load this video`),ye=f('<img class="absolute inset-0 h-full w-full object-cover">'),ke=f('<button type=button class="group absolute inset-0 flex h-full w-full items-center justify-center outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset"><span class="relative flex h-14 w-14 items-center justify-center rounded-full bg-black/60 text-white shadow-lg transition-transform motion-safe:group-hover:scale-110"aria-hidden=true>'),xe=f('<div class="absolute inset-0 bg-gradient-to-br from-zinc-800 to-zinc-950"aria-hidden=true>');function $e(e){const[r,a]=G(e,["cardId","data","onEmit","class"]),s=o=>{var p;return(p=r.onEmit)==null?void 0:p.call(r,o)},[g,U]=D(!1),[Y,I]=D(!1);let k;const c=h(()=>{try{return{ok:!0,value:de(r.data)}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}}),Z=h(()=>ve(r.data.aspectRatio)),_=()=>r.data.title??"Embedded video",C=h(()=>c().ok&&!Y()?c().value.posterUrl:void 0),j=h(()=>fe(r.data)),z=()=>pe(r.data.provider);H(()=>s({kind:"ready",cardId:r.cardId})),M(N(c,o=>{o.ok||s({kind:"error",cardId:r.cardId,message:o.error})})),M(N(()=>r.data,()=>{U(!1),I(!1)},{defer:!0}));const L=()=>{c().ok&&(U(!0),queueMicrotask(()=>k?.focus()))},B=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),L())},F=()=>{const o=j();o&&s({kind:"open",cardId:r.cardId,url:o,target:"tab"})};return(()=>{var o=he(),p=o.firstChild,R=p.nextSibling,S=R.firstChild,q=S.firstChild;return J(o,A({get class(){return ee("overflow-hidden rounded-xl border border-border bg-card text-card-foreground",r.class)}},a),!1,!0),u(p,i(w,{get when(){return c().ok},get fallback(){return(()=>{var t=we(),l=t.firstChild;return u(t,i(oe,{size:28,"aria-hidden":"true"}),l),t})()},get children(){return i(w,{get when(){return g()},get fallback(){return(()=>{var t=ke(),l=t.firstChild;return t.$$keydown=B,t.$$click=()=>L(),u(t,i(w,{get when(){return C()},get fallback(){return xe()},get children(){var n=ye();return n.addEventListener("error",()=>I(!0)),y(d=>{var v=C(),b=r.data.title??"";return v!==d.e&&m(n,"src",d.e=v),b!==d.t&&m(n,"alt",d.t=b),d},{e:void 0,t:void 0}),n}}),l),u(l,i(le,{size:26,fill:"currentColor"})),y(()=>m(t,"aria-label",`Play ${r.data.title??"video"}`)),t})()},get children(){var t=be(),l=t.firstChild;return K(n=>k=n,t),y(n=>{var d=c().value.embedUrl,v=_(),b=c().value.sandbox,P=c().value.allow;return d!==n.e&&m(l,"src",n.e=d),v!==n.t&&m(l,"title",n.t=v),b!==n.a&&m(l,"sandbox",n.a=b),P!==n.o&&m(l,"allow",n.o=P),n},{e:void 0,t:void 0,a:void 0,o:void 0}),t}})}})),u(S,i(ae,{size:14,class:"shrink-0 opacity-70","aria-hidden":"true"}),q),u(q,()=>r.data.title??z()),u(R,i(w,{get when(){return j()},get children(){var t=ge();return t.firstChild,t.$$click=()=>F(),u(t,z,null),u(t,i(te,{size:12,"aria-hidden":"true"}),null),t}}),null),y(t=>Q(p,"aspect-ratio",Z())),o})()}W(["click","keydown"]),X("kai-embed",{cardId:void 0,data:void 0},(e,{element:r})=>i($e,{get cardId(){return e.cardId??""},get data(){return e.data??{provider:"generic"}},onEmit:a=>ne(r,a)}));
|
package/dist/elements/empty.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as i,l,m as c,i as d,t as a,f,c as s,
|
|
1
|
+
import{s as i,l,m as c,i as d,t as a,f,c as s,w as o,S as m}from"./chunks/define-D1din7Ld.js";import{c as g}from"./chunks/index-BCRhi84a.js";import{c as u}from"./chunks/cn-CU7UAWzk.js";var h=a("<div data-slot=empty>"),v=a("<div data-slot=empty-header>"),p=a("<div data-slot=empty-media>"),x=a("<div data-slot=empty-title>"),y=a("<p data-slot=empty-description>"),w=a("<div data-slot=empty-content>");function b(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=h();return l(t,c({get class(){return u("flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg p-6 text-center text-balance",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}function k(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=v();return l(t,c({get class(){return u("flex max-w-sm flex-col items-center gap-2 text-center",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}const T=g("flex shrink-0 items-center justify-center mb-2 [&_svg]:size-6",{variants:{variant:{default:"bg-transparent",icon:"bg-muted text-foreground size-10 rounded-lg"}},defaultVariants:{variant:"default"}});function _(r){const[e,n]=i(r,["class","variant","children"]);return(()=>{var t=p();return l(t,c({get"data-variant"(){return e.variant??"default"},get class(){return u(T({variant:e.variant}),e.class)}},n),!1,!0),d(t,()=>e.children),t})()}function j(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=x();return l(t,c({get class(){return u("text-lg font-medium tracking-tight",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}function z(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=y();return l(t,c({get class(){return u("text-muted-foreground text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}function $(r){const[e,n]=i(r,["class","children"]);return(()=>{var t=w();return l(t,c({get class(){return u("flex w-full max-w-sm min-w-0 flex-col items-center gap-2 text-sm text-balance",e.class)}},n),!1,!0),d(t,()=>e.children),t})()}var C=a("<slot name=media>"),E=a("<slot>");f("kai-empty",{emptyTitle:"",description:""},r=>s(b,{get children(){return[s(k,{get children(){return[s(_,{variant:"icon",get children(){var e=C();return e._$owner=o(),e}}),s(m,{get when(){return r.emptyTitle},get children(){return s(j,{get children(){return r.emptyTitle}})}}),s(m,{get when(){return r.description},get children(){return s(z,{get children(){return r.description}})}})]}}),s($,{get children(){var e=E();return e._$owner=o(),e}})]}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as v,i as t,c as r,M as x,S,F as
|
|
1
|
+
import{g as v,i as t,c as r,M as x,S,F as W,a as T,d as B,b as $,v as H,t as g,e as I,f as N}from"./chunks/define-D1din7Ld.js";import{c as j}from"./chunks/cn-CU7UAWzk.js";import{B as z}from"./chunks/button-ZWNif3--.js";import{T as q}from"./chunks/textarea-CUwqAX0G.js";import{t as A,a as E}from"./chunks/thumbs-up-PNVVThEF.js";import{c as G}from"./chunks/check-B9-gn6SS.js";import{x as D}from"./chunks/x-GRUeeQFT.js";var J=g('<div class="flex w-full items-center justify-between"><div class="flex flex-1 items-center justify-start gap-4 py-3 pl-4"><span class="text-foreground font-medium"></span></div><div class="flex items-center justify-center gap-0.5 px-3 py-0"><button type=button class="text-muted-foreground hover:text-foreground flex size-8 items-center justify-center rounded-md transition-colors"aria-label=Helpful></button><button type=button class="text-muted-foreground hover:text-foreground flex size-8 items-center justify-center rounded-md transition-colors"aria-label="Not helpful"></button></div><div class="border-border flex items-center justify-center border-l"><button type=button class="text-muted-foreground hover:text-foreground flex items-center justify-center rounded-md p-3"aria-label=Close>'),K=g('<div class="flex flex-wrap gap-1.5">'),O=g('<div class="flex w-[min(22rem,80vw)] flex-col gap-2.5 p-3"><div class="flex items-center justify-between"><span class="text-foreground font-medium"></span><button type=button aria-label=Skip class="text-muted-foreground hover:text-foreground"></button></div><div class="flex justify-end gap-2">'),Q=g('<div class="flex items-center gap-2 px-4 py-3"role=status><span class="text-foreground font-medium">'),R=g("<div>"),U=g("<button type=button>");function V(e){const[u,f]=v("ask"),[b,M]=v(),[p,L]=v(),[k,P]=v(""),y=i=>{var l;M(i),(l=e.onFeedback)==null||l.call(e,i),f(i==="not-helpful"&&e.collectDetail?"detail":"thanks")},F=()=>{var i;(i=e.onSubmitDetail)==null||i.call(e,{value:b(),category:p(),comment:k()||void 0}),f("thanks")};return(()=>{var i=R();return t(i,r(H,{get children(){return[r(x,{get when(){return u()==="ask"},get children(){var l=J(),n=l.firstChild,m=n.firstChild,h=n.nextSibling,s=h.firstChild,a=s.nextSibling,c=h.nextSibling,o=c.firstChild;return t(n,r(S,{get when(){return e.icon},get children(){return e.icon}}),m),t(m,()=>e.title),s.$$click=()=>y("helpful"),t(s,r(A,{class:"size-4"})),a.$$click=()=>y("not-helpful"),t(a,r(E,{class:"size-4"})),o.$$click=()=>{var d;return(d=e.onClose)==null?void 0:d.call(e)},t(o,r(D,{class:"size-5"})),l}}),r(x,{get when(){return u()==="detail"},get children(){var l=O(),n=l.firstChild,m=n.firstChild,h=m.nextSibling,s=n.nextSibling;return t(m,()=>e.detailTitle??"What went wrong?"),h.$$click=()=>f("thanks"),t(h,r(D,{class:"size-4"})),t(l,r(S,{get when(){var a;return(a=e.categories)==null?void 0:a.length},get children(){var a=K();return t(a,r(W,{get each(){return e.categories},children:c=>(()=>{var o=U();return o.$$click=()=>L(p()===c?void 0:c),t(o,c),T(d=>{var w=p()===c,C=j("rounded-full border px-2.5 py-1 text-xs transition-colors",p()===c?"border-primary bg-primary text-primary-foreground":"border-border text-muted-foreground hover:text-foreground");return w!==d.e&&B(o,"aria-pressed",d.e=w),C!==d.t&&$(o,d.t=C),d},{e:void 0,t:void 0}),o})()})),a}}),s),t(l,r(q,{get value(){return k()},onInput:a=>P(a.currentTarget.value),get placeholder(){return e.detailPlaceholder??"Tell us more (optional)"},class:"border-border min-h-[3rem] rounded-md border px-2 py-1.5"}),s),t(s,r(z,{variant:"ghost",size:"sm",onClick:()=>f("thanks"),children:"Skip"}),null),t(s,r(z,{variant:"default",size:"sm",onClick:F,get children(){return e.submitLabel??"Submit"}}),null),l}}),r(x,{get when(){return u()==="thanks"},get children(){var l=Q(),n=l.firstChild;return t(l,r(G,{class:"size-4 text-emerald-500"}),n),t(n,()=>e.thanksMessage??"Thanks for your feedback"),l}})]}})),T(()=>$(i,j("bg-background border-border inline-flex rounded-[12px] border text-sm",e.class))),i})()}I(["click"]),N("kai-feedback-bar",{barTitle:"Was this helpful?",collectDetail:void 0,categories:void 0,detailTitle:void 0,detailPlaceholder:void 0,submitLabel:void 0,thanksMessage:void 0},(e,{dispatch:u,flag:f})=>r(V,{get title(){return e.barTitle},get collectDetail(){return f("collectDetail")},get categories(){return e.categories},get detailTitle(){return e.detailTitle},get detailPlaceholder(){return e.detailPlaceholder},get submitLabel(){return e.submitLabel},get thanksMessage(){return e.thanksMessage},onFeedback:b=>u("kai-feedback",{value:b}),onSubmitDetail:b=>u("kai-feedback-detail",b),onClose:()=>u("kai-close")}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as d,i as m,c as n,t as i}from"./chunks/define-
|
|
1
|
+
import{f as d,i as m,c as n,t as i}from"./chunks/define-D1din7Ld.js";import{F as f}from"./chunks/file-tree-DF4okKyo.js";var h=i("<style>:host{display:block;height:100%;min-height:0}"),o=i('<div style="display:grid;grid-template-rows:minmax(0, 1fr);grid-template-columns:minmax(0, 1fr);height:100%;min-height:0"><div class="overflow-auto scrollbar-thin py-1.5"style=min-height:0>');d("kai-file-tree",{files:[],activeFile:void 0,defaultExpanded:void 0,summary:!1},(e,{dispatch:a,flag:r})=>[h(),(()=>{var t=o(),l=t.firstChild;return m(l,n(f,{get files(){return e.files},get activeFile(){return e.activeFile},get defaultExpanded(){return e.defaultExpanded},get summary(){return r("summary")},onSelect:s=>a("kai-select",{path:s})})),t})()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as p,m,s as
|
|
1
|
+
import{c as p,m,s as w,B as x,l as E,i as b,g as L,h as A,p as $,u as F,a as R,d as T,n as D,A as I,t as v,e as P,f as j,w as z}from"./chunks/define-D1din7Ld.js";import{I as B}from"./chunks/Icon-Tj58ES_d.js";var C=[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]],H=i=>p(B,m(i,{name:"Upload",iconNode:C})),M=H,N=v("<input type=file class=hidden aria-hidden=true>"),U=v("<button type=button>");const h=I();function _(i){const[n]=w(i,["onFilesAdded","children","multiple","accept","disabled"]);let s;const[l,o]=L(!1);let a=0;const f=()=>n.multiple??!0,g=e=>{const t=Array.from(e);f()?n.onFilesAdded(t):n.onFilesAdded(t.slice(0,1))};A(()=>{const e=r=>{r.preventDefault(),r.stopPropagation()},t=r=>{var u;e(r),a++,(u=r.dataTransfer)!=null&&u.items.length&&o(!0)},d=r=>{e(r),a--,a===0&&o(!1)},c=r=>{var u;e(r),o(!1),a=0,(u=r.dataTransfer)!=null&&u.files.length&&g(r.dataTransfer.files)};window.addEventListener("dragenter",t),window.addEventListener("dragleave",d),window.addEventListener("dragover",e),window.addEventListener("drop",c),$(()=>{window.removeEventListener("dragenter",t),window.removeEventListener("dragleave",d),window.removeEventListener("dragover",e),window.removeEventListener("drop",c)})});const y=e=>{var t;const d=e.target;(t=d.files)!=null&&t.length&&(g(d.files),d.value="")},k={isDragging:l,get inputRef(){return s},setInputRef:e=>{s=e},multiple:n.multiple,disabled:n.disabled};return p(h.Provider,{value:k,get children(){return[(()=>{var e=N();return e.$$input=y,F(t=>{s=t},e),R(t=>{var d=f(),c=n.accept,r=n.disabled;return d!==t.e&&(e.multiple=t.e=d),c!==t.t&&T(e,"accept",t.t=c),r!==t.a&&(e.disabled=t.a=r),t},{e:void 0,t:void 0,a:void 0}),e})(),D(()=>n.children)]}})}function O(i){const[n,s]=w(i,["class","children"]),l=x(h),o=()=>{var a;return(a=l?.inputRef)==null?void 0:a.click()};return(()=>{var a=U();return a.$$click=o,E(a,m({get class(){return n.class}},s),!1,!0),b(a,()=>n.children),a})()}P(["input","click"]);var S=v("<slot>");j("kai-file-upload",{multiple:!0,accept:void 0,disabled:!1,label:"Click or drop files to upload"},(i,{dispatch:n,flag:s})=>p(_,{get multiple(){return s("multiple")},get accept(){return i.accept},get disabled(){return s("disabled")},onFilesAdded:l=>n("kai-files-added",{files:l}),get children(){return p(O,{class:"border-border bg-surface hover:bg-muted/60 text-muted-foreground flex w-full cursor-pointer flex-col items-center justify-center gap-2 rounded-xl border border-dashed px-6 py-8 text-sm transition-colors",get children(){return[p(M,{class:"size-5"}),(()=>{var l=S();return l._$owner=z(),b(l,()=>i.label),l})()]}})}}));
|
package/dist/elements/form.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as u,m as x,i as m,S as y,l as L,n as pe,d as j,a as k,F as C,b as T,g as he,t as b,e as ve,s as be,j as E,h as K,o as D,k as xe,E as ye,I as ke,f as we}from"./chunks/define-DfTe4zwZ.js";import{c as ee,p as q,u as J}from"./chunks/store-tpnnWlxY.js";import{c as O}from"./chunks/cn-CU7UAWzk.js";import{B as N}from"./chunks/button-BD7lUvVB.js";import{C as z}from"./chunks/card-B-PRGXdj.js";import{u as Ie,a as $e,D as Ae}from"./chunks/use-card-resolution-73xiddIW.js";import{e as Se}from"./chunks/card-routing-C986KuUA.js";import{T as je}from"./chunks/textarea-Czaowo9F.js";import{I as Ce,F as R}from"./chunks/input-B9oZKDfb.js";import{s as Oe}from"./chunks/star-BHL3Va5p.js";import{c as Le}from"./chunks/check-CUKS495w.js";function _(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Be(e,r){switch(r){case"integer":return typeof e=="number"&&Number.isInteger(e);case"number":return typeof e=="number"&&Number.isFinite(e);case"array":return Array.isArray(e);case"null":return e===null;case"object":return _(e)==="object";default:return typeof e===r}}function F(e,r,t,n){const a=t||"(root)";if(e.type&&!Be(r,e.type)){n.push(`${a}: expected ${e.type}, got ${_(r)}`);return}if("const"in e&&JSON.stringify(r)!==JSON.stringify(e.const)&&n.push(`${a}: must equal const ${JSON.stringify(e.const)}`),e.enum&&!e.enum.some(i=>JSON.stringify(i)===JSON.stringify(r))&&n.push(`${a}: must be one of ${JSON.stringify(e.enum)}`),typeof r=="number"&&(e.minimum!==void 0&&r<e.minimum&&n.push(`${a}: < minimum ${e.minimum}`),e.maximum!==void 0&&r>e.maximum&&n.push(`${a}: > maximum ${e.maximum}`),e.exclusiveMinimum!==void 0&&r<=e.exclusiveMinimum&&n.push(`${a}: <= exclusiveMinimum`),e.exclusiveMaximum!==void 0&&r>=e.exclusiveMaximum&&n.push(`${a}: >= exclusiveMaximum`)),typeof r=="string"&&(e.minLength!==void 0&&r.length<e.minLength&&n.push(`${a}: shorter than minLength ${e.minLength}`),e.maxLength!==void 0&&r.length>e.maxLength&&n.push(`${a}: longer than maxLength ${e.maxLength}`),e.pattern!==void 0&&!new RegExp(e.pattern).test(r)&&n.push(`${a}: does not match pattern`)),Array.isArray(r)&&(e.minItems!==void 0&&r.length<e.minItems&&n.push(`${a}: fewer than minItems ${e.minItems}`),e.maxItems!==void 0&&r.length>e.maxItems&&n.push(`${a}: more than maxItems ${e.maxItems}`),e.uniqueItems&&new Set(r.map(i=>JSON.stringify(i))).size!==r.length&&n.push(`${a}: items not unique`),e.items&&r.forEach((i,l)=>F(e.items,i,`${a}[${l}]`,n))),_(r)==="object"){const i=r;for(const l of e.required??[])(!(l in i)||i[l]===void 0)&&n.push(`${a}.${l}: required`);if(e.properties)for(const[l,d]of Object.entries(e.properties))l in i&&i[l]!==void 0&&F(d,i[l],`${a}.${l}`,n)}}function qe(e,r){const t=[];return F(e,r,"",t),{valid:t.length===0,errors:t}}var Me=b('<span class="self-end text-xs text-muted-foreground">/'),Ee=b('<div class="flex flex-col gap-1">'),Ne=b("<input data-control type=number>"),Re=b('<div class="flex items-center gap-3"><input data-control type=range class=kai-range><span class="min-w-9 shrink-0 rounded-md bg-background px-2 py-1 text-center text-sm font-medium tabular-nums text-foreground shadow-sm">'),Te=b('<div role=radiogroup data-control tabindex=0 class="flex items-center gap-1 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">'),Ke=b('<button type=button role=radio tabindex=-1 class="rounded p-0.5 text-muted-foreground hover:text-foreground">'),Ve=b("<button data-control type=button role=switch><span>"),De=b('<label class="-mx-1.5 inline-flex cursor-pointer items-center gap-2.5 rounded-md px-1.5 py-1.5 text-sm text-foreground transition-colors hover:bg-muted/60"><input data-control type=checkbox class=kai-checkbox><span>'),Je=b('<div role=radiogroup data-control class="divide-y divide-border overflow-hidden rounded-lg border border-input">'),ze=b("<label><input type=radio class=kai-radio><span>"),_e=b("<select data-control><option value disabled>"),re=b("<option>"),Fe=b('<div role=group data-control class="divide-y divide-border overflow-hidden rounded-lg border border-input">'),Ue=b("<label><input type=checkbox class=kai-checkbox><span>"),Ye=b("<select data-control multiple>"),Ze=b('<div class="flex flex-col gap-2"role=group><div class="flex flex-wrap gap-1.5"></div><div class="flex items-center gap-2"><input data-control type=text><button type=button class="rounded-md border border-input px-3 py-2 text-sm text-foreground hover:bg-muted disabled:opacity-50">Add'),Ge=b('<span class="inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs text-foreground"><button type=button class="text-muted-foreground hover:text-foreground">\u2715');function A(e){return{"aria-required":e.required||void 0,"aria-invalid":e.invalid||void 0,"aria-describedby":e.describedBy}}function He(e){const r=()=>{switch(e.variant){case"email":return"email";case"url":return"url";case"date":return"date";case"datetime":return"datetime-local";case"time":return"time";case"password":return"password";default:return"text"}};return u(Ce,x({get id(){return e.id},"data-control":!0,get type(){return r()},get value(){return e.value??""},get placeholder(){return e.placeholder},get invalid(){return e.invalid},get disabled(){return e.disabled},get minLength(){return e.field.minLength},get maxLength(){return e.field.maxLength}},()=>A(e),{onValueInput:t=>e.onInput(t),onValueChange:()=>e.onBlur()}))}function Pe(e){const r=()=>(e.value??"").length;return(()=>{var t=Ee();return m(t,u(je,x({get id(){return e.id},"data-control":!0,get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get value(){return e.value??""},get placeholder(){return e.placeholder},get disabled(){return e.disabled},get maxLength(){return e.field.maxLength}},()=>A(e),{onInput:n=>e.onInput(n.currentTarget.value),get onBlur(){return e.onBlur}})),null),m(t,u(y,{get when(){return e.field.maxLength!==void 0},get children(){var n=Me(),a=n.firstChild;return m(n,r,a),m(n,()=>e.field.maxLength,null),n}}),null),t})()}function Qe(e){const r=()=>e.field["x-kai-step"]??(e.field.type==="integer"?1:void 0);return(()=>{var t=Ne();return L(t,x({get id(){return e.id},get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get value(){return pe(()=>e.value===void 0||e.value===null)()?"":String(e.value)},get placeholder(){return e.placeholder},get disabled(){return e.disabled},get min(){return e.field.minimum},get max(){return e.field.maximum},get step(){return r()}},()=>A(e),{onInput:n=>e.onInput(n.currentTarget.value),get onBlur(){return e.onBlur}}),!1,!1),t})()}function We(e){const r=()=>e.field.minimum??0,t=()=>e.field.maximum??100,n=()=>e.field["x-kai-step"]??(e.field.type==="integer"?1:void 0),a=()=>e.value===void 0||e.value===null?r():Number(e.value),i=()=>{const l=r(),d=t();return d>l?`${(a()-l)/(d-l)*100}%`:"0%"};return(()=>{var l=Re(),d=l.firstChild,h=d.nextSibling;return L(d,x({get id(){return e.id},get style(){return{"--kai-range-fill":i()}},get value(){return a()},get min(){return r()},get max(){return t()},get step(){return n()},get disabled(){return e.disabled},get"aria-valuetext"(){return String(a())}},()=>A(e),{onInput:v=>e.onInput(Number(v.currentTarget.value)),get onBlur(){return e.onBlur}}),!1,!1),m(h,a),l})()}function Xe(e){const r=()=>e.field.maximum??5,t=()=>Number(e.value??0),n=()=>Array.from({length:r()},(i,l)=>l+1),a=i=>{i.key==="ArrowRight"||i.key==="ArrowUp"?(i.preventDefault(),e.onInput(Math.min(r(),t()+1))):(i.key==="ArrowLeft"||i.key==="ArrowDown")&&(i.preventDefault(),e.onInput(Math.max(e.field.minimum??1,t()-1)))};return(()=>{var i=Te();return L(i,x({get"aria-label"(){return e.label}},()=>A(e),{onKeyDown:a}),!1,!0),m(i,u(C,{get each(){return n()},children:l=>(()=>{var d=Ke();return d.$$click=()=>e.onInput(l),j(d,"aria-label",`${l} ${l===1?"star":"stars"}`),m(d,u(Oe,{size:20,get class(){return O(l<=t()?"fill-current text-[var(--color-primary)]":"")},"aria-hidden":"true"})),k(h=>{var v=t()===l,p=e.disabled;return v!==h.e&&j(d,"aria-checked",h.e=v),p!==h.t&&(d.disabled=h.t=p),h},{e:void 0,t:void 0}),d})()})),i})()}function er(e){const r=()=>e.value===!0,t=()=>{e.disabled||(e.onInput(!r()),e.onBlur())};return(()=>{var n=Ve(),a=n.firstChild;return L(n,x({get id(){return e.id},get"aria-checked"(){return r()},get"aria-label"(){return e.label},get disabled(){return e.disabled},get class(){return O("relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",r()?"bg-[var(--color-primary)]":"bg-muted")}},()=>A(e),{onClick:t}),!1,!0),k(()=>T(a,O("inline-block h-5 w-5 transform rounded-full bg-background shadow transition-transform",r()?"translate-x-5":"translate-x-0.5"))),n})()}function rr(e){return(()=>{var r=De(),t=r.firstChild,n=t.nextSibling;return L(t,x({get id(){return e.id},get checked(){return e.value===!0},get disabled(){return e.disabled}},()=>A(e),{onChange:a=>{e.onInput(a.currentTarget.checked),e.onBlur()}}),!1,!1),m(n,()=>e.label),r})()}function tr(e){const r=()=>e.field.enum??[];return(()=>{var t=Je();return L(t,x({get"aria-label"(){return e.label}},()=>A(e)),!1,!0),m(t,u(C,{get each(){return r()},children:n=>(()=>{var a=ze(),i=a.firstChild,l=i.nextSibling;return i.addEventListener("change",()=>{e.onInput(n),e.onBlur()}),m(l,()=>String(n)),k(d=>{var h=O("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",e.value===n?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50"),v=e.id,p=e.disabled;return h!==d.e&&T(a,d.e=h),v!==d.t&&j(i,"name",d.t=v),p!==d.a&&(i.disabled=d.a=p),d},{e:void 0,t:void 0,a:void 0}),k(()=>i.value=String(n)),k(()=>i.checked=e.value===n),a})()})),t})()}function nr(e){const r=()=>e.field.enum??[];return(()=>{var t=_e(),n=t.firstChild;return L(t,x({get id(){return e.id},get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get disabled(){return e.disabled}},()=>A(e),{onChange:a=>{e.onInput(a.currentTarget.value),e.onBlur()}}),!1,!0),m(n,()=>e.placeholder??"Select\u2026"),m(t,u(C,{get each(){return r()},children:a=>(()=>{var i=re();return m(i,()=>String(a)),k(()=>i.selected=e.value===a),k(()=>i.value=String(a)),i})()}),null),k(()=>n.selected=e.value===void 0||e.value===""),t})()}function te(e){const r=e.items;return r&&"enum"in r&&Array.isArray(r.enum)?r.enum:[]}function ir(e){const r=()=>Array.isArray(e.value)?e.value:[],t=n=>{const a=r(),i=a.includes(n)?a.filter(l=>l!==n):[...a,n];e.onInput(i),e.onBlur()};return(()=>{var n=Fe();return L(n,x({get"aria-label"(){return e.label}},()=>A(e)),!1,!0),m(n,u(C,{get each(){return te(e.field)},children:a=>(()=>{var i=Ue(),l=i.firstChild,d=l.nextSibling;return l.addEventListener("change",()=>t(a)),m(d,()=>String(a)),k(h=>{var v=O("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",r().includes(a)?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50"),p=e.disabled;return v!==h.e&&T(i,h.e=v),p!==h.t&&(l.disabled=h.t=p),h},{e:void 0,t:void 0}),k(()=>l.checked=r().includes(a)),i})()})),n})()}function ar(e){const r=()=>Array.isArray(e.value)?e.value:[];return(()=>{var t=Ye();return L(t,x({get id(){return e.id},get"aria-label"(){return e.label},get class(){return O(R,"min-h-[6rem]",e.invalid&&"border-destructive dark:border-red-400/70")},get disabled(){return e.disabled}},()=>A(e),{onChange:n=>{const a=Array.from(n.currentTarget.selectedOptions).map(i=>i.value);e.onInput(a),e.onBlur()}}),!1,!0),m(t,u(C,{get each(){return te(e.field)},children:n=>(()=>{var a=re();return m(a,()=>String(n)),k(()=>a.selected=r().includes(n)),k(()=>a.value=String(n)),a})()})),t})()}function lr(e){const r=()=>Array.isArray(e.value)?e.value:[],[t,n]=he(""),a=()=>{const l=t().trim();l&&(e.onInput([...r(),l]),n(""),e.onBlur())},i=l=>{e.onInput(r().filter((d,h)=>h!==l)),e.onBlur()};return(()=>{var l=Ze(),d=l.firstChild,h=d.nextSibling,v=h.firstChild,p=v.nextSibling;return m(d,u(C,{get each(){return r()},children:(g,S)=>(()=>{var w=Ge(),I=w.firstChild;return m(w,g,I),I.$$click=()=>i(S()),j(I,"aria-label",`Remove ${g}`),k(()=>I.disabled=e.disabled),w})()})),L(v,x({get id(){return e.id},get class(){return O(R)},get value(){return t()},get placeholder(){return e.placeholder??"Add\u2026"},get disabled(){return e.disabled}},()=>A(e),{onInput:g=>n(g.currentTarget.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),a())}}),!1,!1),p.$$click=a,k(g=>{var S=e.label,w=e.disabled;return S!==g.e&&j(l,"aria-label",g.e=S),w!==g.t&&(p.disabled=g.t=w),g},{e:void 0,t:void 0}),l})()}ve(["click"]);var ur=b("<form novalidate>"),sr=b('<div class="flex w-full flex-wrap items-center justify-between gap-2"><div class="ml-auto flex flex-wrap items-center gap-2">'),or=b('<div class="flex flex-col gap-3"><p class="flex items-center gap-2 text-sm font-medium text-foreground"><span>Submitted</span></p><dl class="grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1.5">'),dr=b('<dt class="text-xs text-muted-foreground">'),cr=b('<dd class="m-0 text-sm font-medium text-foreground">'),mr=b('<span class="text-destructive dark:text-red-400"aria-hidden=true> *'),gr=b('<label class="text-sm font-medium text-foreground">'),fr=b('<p class="text-xs text-muted-foreground">'),pr=b('<p role=alert class="text-xs text-destructive dark:text-red-400">'),hr=b('<div class="flex flex-col gap-2 rounded-xl bg-surface p-3.5">'),vr=b('<p class="rounded-md border border-dashed border-border p-2 text-xs text-muted-foreground">Unsupported field "<!>".'),br=b('<fieldset class="flex flex-col gap-3 rounded-lg border border-border p-3"><legend class="px-1 text-sm font-medium text-foreground">'),xr=b('<fieldset class="flex flex-col gap-3 rounded-lg border border-border p-3"data-control><legend class="px-1 text-sm font-medium text-foreground">'),yr=b('<div class="flex flex-col gap-2 rounded-md border border-border/60 p-2"><div class="flex items-center justify-between"><span class="text-xs text-muted-foreground">Item ');const U=4,kr=new Set(["textarea","slider","rating","radio","select","checkbox","password","switch"]);function wr(e,r){const t=e["x-kai-widget"];if(t&&kr.has(t))switch(t){case"textarea":return"textarea";case"slider":return"slider";case"rating":return"rating";case"radio":return"radio";case"select":return"select";case"checkbox":return"checkbox";case"password":return"password";case"switch":return"switch"}switch(e.type){case"string":{if(Array.isArray(e.enum))return e.enum.length<=r?"radio":"select";switch(e.format){case"email":return"email";case"uri":case"url":return"url";case"date":return"date";case"date-time":return"datetime";case"time":return"time"}return e.maxLength!==void 0&&e.maxLength>120?"textarea":"text"}case"number":case"integer":return"number";case"boolean":return"switch";case"array":{const n=e.items;return n&&"enum"in n&&Array.isArray(n.enum)?n.enum.length<=r?"checkbox-group":"multiselect":n&&"type"in n&&n.type==="object"?"repeater":(n&&"type"in n&&n.type,"taglist")}case"object":return"fieldset";default:return"unsupported"}}function Y(e){return e.replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").trim().replace(/\b\w/g,r=>r.toUpperCase())}function Ir(e){const r=Object.keys(e.properties??{}),t=e["x-kai-order"];if(Array.isArray(t)){const i=t.filter(d=>r.includes(d)),l=r.filter(d=>!i.includes(d));return[...i,...l]}const n=(e.required??[]).filter(i=>r.includes(i)),a=r.filter(i=>!n.includes(i));return[...n,...a]}function $r(e,r){if(e.type==="number"||e.type==="integer"){if(r===""||r===null||r===void 0)return;const t=typeof r=="number"?r:Number(r);return Number.isNaN(t)?r:t}return e.type==="boolean"?!!r:r}const Ar="^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$";function Sr(e){const r={type:e.type};return e.enum&&(r.enum=e.enum),e.minimum!==void 0&&(r.minimum=e.minimum),e.maximum!==void 0&&(r.maximum=e.maximum),e.minLength!==void 0&&(r.minLength=e.minLength),e.maxLength!==void 0&&(r.maxLength=e.maxLength),e.minItems!==void 0&&(r.minItems=e.minItems),e.maxItems!==void 0&&(r.maxItems=e.maxItems),e.pattern!==void 0?r.pattern=e.pattern:e.format==="email"&&(r.pattern=Ar),r}function ne(e){return e==null||e===""||Array.isArray(e)&&e.length===0}function V(e,r){const t={},n=new Set(e.required??[]);for(const[a,i]of Object.entries(e.properties??{})){const l=r[a];if(n.has(a)&&ne(l)){t[a]=`${i.title??Y(a)} is required.`;continue}if(ne(l))continue;const d=qe(Sr(i),l);d.valid||(t[a]=jr(i,a,d.errors[0]))}return{valid:Object.keys(t).length===0,fieldErrors:t}}function jr(e,r,t){const n=e.title??Y(r);return t?t.includes("minimum")?`${n} must be at least ${e.minimum}.`:t.includes("maximum")?`${n} must be at most ${e.maximum}.`:t.includes("minLength")?`${n} must be at least ${e.minLength} characters.`:t.includes("maxLength")?`${n} must be at most ${e.maxLength} characters.`:t.includes("pattern")?e.format==="email"?`${n} must be a valid email address.`:`${n} is not in the expected format.`:t.includes("one of")?`${n} must be one of the allowed options.`:t.includes("expected integer")?`${n} must be a whole number.`:t.includes("expected")?`${n} is invalid.`:t.includes("minItems")?`${n}: choose at least ${e.minItems}.`:t.includes("maxItems")?`${n}: choose at most ${e.maxItems}.`:`${n} is invalid.`:`${n} is invalid.`}function Cr(e,r){return e?.["x-kai-widget"]==="password"?r==null||r===""?"\u2014":"\u2022\u2022\u2022\u2022":typeof r=="boolean"?r?"Yes":"No":r==null||r===""?"\u2014":Array.isArray(r)?r.length?r.map(t=>String(t)).join(", "):"\u2014":String(r)}function Or(e,r){const t=e.properties??{};return(Array.isArray(e["x-kai-order"])&&e["x-kai-order"].length>0?e["x-kai-order"].filter(n=>n in t):Object.keys(t)).map(n=>{const a=t[n];return{key:n,label:a?.title??n,value:Cr(a,r[n])}})}function ie(e,r){const t={};for(const n of Object.keys(e.properties??{})){const a=e.properties[n],i=$r(a,r[n]);i===void 0||i===""||Array.isArray(i)&&i.length===0||(t[n]=i)}return t}const ae={type:"object",properties:{}};function Lr(e){const r=x({cardId:"kai-form"},e),[t]=be(r,["data","cardId","heading","host","hostElement","class","resolution","values","defaultValues","disabled","onValuesChange","controllerRef"]),n=Ie(),a=s=>{const o=t.host??n;o?o.emit(s):t.hostElement&&Se(t.hostElement,s)},i=E(()=>{const s=t.data;return s?s.type!=="object"||typeof s.properties!="object"||s.properties===null?{ok:!1,message:"This form couldn't be displayed."}:{ok:!0,message:""}:{ok:!1,message:"No form definition provided."}}),l=E(()=>i().ok?t.data??ae:ae),d=()=>l()["x-kai-inlineMax"]??U,h=E(()=>Ir(l())),v=$e({prop:()=>t.resolution,data:()=>t.data}),[p,g]=ee({}),[S,w]=ee({}),I=s=>{const o={};for(const[c,f]of Object.entries(s.properties??{}))f.default!==void 0?o[c]=f.default:f.type==="array"&&(o[c]=[]);return t.defaultValues&&Object.assign(o,t.defaultValues),t.values&&Object.assign(o,t.values),o},M=s=>{const o=I(s);g(q(c=>{for(const f of Object.keys(c))delete c[f];Object.assign(c,o)})),w(q(c=>{for(const f of Object.keys(c))delete c[f]}))},ue=()=>{const s=l(),o={};for(const[c,f]of Object.entries(s.properties??{}))f.default!==void 0?o[c]=f.default:f.type==="array"&&(o[c]=[]);g(q(c=>{for(const f of Object.keys(c))delete c[f];Object.assign(c,o)})),w(q(c=>{for(const f of Object.keys(c))delete c[f]}))};K(D(()=>t.data,()=>{i().ok&&M(l())})),K(D(()=>t.values,s=>{s&&g(q(o=>{for(const c of Object.keys(o))delete o[c];Object.assign(o,s)}))},{defer:!0})),K(D(i,s=>{s.ok?a({kind:"ready",cardId:t.cardId}):a({kind:"error",cardId:t.cardId,message:s.message})})),K(()=>{var s;const o=t.hostElement;o&&(((s=v.resolution())==null?void 0:s.kind)==="submit"?o.setAttribute("data-kai-resolved","submitted"):o.removeAttribute("data-kai-resolved"))});const se=(s,o)=>{var c;g(s,o),S[s]&&w(s,void 0);const f=J(p),$=ie(l(),f),{valid:B}=V(l(),f);(c=t.onValuesChange)==null||c.call(t,{values:$,valid:B})},oe=s=>{const o=l().properties[s];if(!o)return;const c=V({required:l().required,properties:{[s]:o}},{[s]:p[s]});w(s,c.fieldErrors[s])},G=s=>{var o;return s?.closest("form")??s??((o=t.hostElement)==null?void 0:o.shadowRoot)??document},H=(s,o,c)=>{var f;(f=o.querySelector(`[data-field="${Tr(s)}"] [data-control]`))==null||f.focus(c)},P=s=>{if(v.isResolved())return!1;const o=J(p),c=V(l(),o);if(w(q($=>{for(const B of Object.keys($))delete $[B];Object.assign($,c.fieldErrors)})),!c.valid){const $=h().find(B=>c.fieldErrors[B]);if($){const B=G(s);queueMicrotask(()=>H($,B))}return!1}const f=ie(l(),o);return a({kind:"submit",cardId:t.cardId,data:f}),v.setLocal({kind:"submit",data:f}),!0},de=s=>{s.preventDefault(),P(s.currentTarget)},Q=()=>{v.isResolved()||(a({kind:"dismiss",cardId:t.cardId}),v.setLocal({kind:"dismissed"}))},W=()=>a({kind:"reopen",cardId:t.cardId}),X=()=>t.disabled===!0;xe(()=>{var s;(s=t.controllerRef)==null||s.call(t,{focus:o=>{const c=G(),f=h().find($=>S[$])??h()[0];f&&H(f,c,o)},send:()=>{P()},validate:()=>{const o=J(p),c=V(l(),o);return w(q(f=>{for(const $ of Object.keys(f))delete f[$];Object.assign(f,c.fieldErrors)})),c.valid?{valid:!0}:{valid:!1,errors:c.fieldErrors}},reset:()=>ue(),dismiss:()=>Q(),reopen:()=>W()})});const ce=E(()=>l()["x-kai-actions"]??[]),me=()=>l()["x-kai-submitLabel"]??"Submit",ge=()=>l()["x-kai-dismissible"]===!0,fe=E(()=>{const s=v.resolution();return!s||s.kind!=="submit"?[]:Or(l(),s.data??{})});return u(y,{get when(){return i().ok},get fallback(){return u(z,{get heading(){return t.heading},get errorMessage(){return i().message}})},get children(){return u(ye,{fallback:()=>(a({kind:"error",cardId:t.cardId,message:"The form failed to render."}),u(z,{get heading(){return t.heading},errorMessage:"The form failed to render."})),get children(){return u(y,{get when(){return!v.isDeferred()},get fallback(){return u(Ae,{type:"form",get title(){return t.heading??l().title},onReopen:W})},get children(){return u(z,{get heading(){return t.heading??l().title},get description(){return l().description},get actions(){return u(y,{get when(){return!v.isResolved()},fallback:void 0,get children(){var s=sr(),o=s.firstChild;return m(s,u(y,{get when(){return ge()},get children(){return u(N,{type:"button",variant:"ghost",onClick:Q,children:"Dismiss"})}}),o),m(o,u(C,{get each(){return ce()},children:c=>u(N,{type:"button",get variant(){return c.variant??"ghost"},onClick:()=>a({kind:"action",cardId:t.cardId,action:c.id}),get children(){return c.label}})}),null),m(o,u(N,{type:"submit",get form(){return le()},get disabled(){return X()},get children(){return me()}}),null),s}})},get children(){return u(y,{get when(){return!v.isResolved()},get fallback(){return u(Mr,{get rows(){return fe()},get optimistic(){return v.isOptimistic()}})},get children(){var s=ur();return s.addEventListener("submit",de),m(s,u(C,{get each(){return h()},children:o=>u(Z,{fieldKey:o,get field(){return l().properties[o]},get required(){return(l().required??[]).includes(o)},get inlineMax(){return d()},value:()=>p[o],error:()=>S[o],get disabled(){return X()},onInput:c=>se(o,c),onBlur:()=>oe(o)})})),k(o=>{var c=le(),f=O("flex flex-col gap-3",t.class);return c!==o.e&&j(s,"id",o.e=c),f!==o.t&&T(s,o.t=f),o},{e:void 0,t:void 0}),s}})}})}})}})}})}let Br=0;const qr=`kai-form-${++Br}`;function le(){return qr}function Mr(e){return(()=>{var r=or(),t=r.firstChild,n=t.firstChild,a=t.nextSibling;return m(t,u(Le,{size:16,"aria-hidden":"true"}),n),m(a,u(C,{get each(){return e.rows},children:i=>[(()=>{var l=dr();return m(l,()=>i.label),l})(),(()=>{var l=cr();return m(l,()=>i.value),l})()]})),k(()=>j(r,"role",e.optimistic?"status":void 0)),r})()}function Z(e){const r=`f-${e.fieldKey}-${Math.random().toString(36).slice(2,8)}`,t=`${r}-err`,n=`${r}-desc`,a=()=>e.field.title??Y(e.fieldKey),i=E(()=>wr(e.field,e.inlineMax)),l=()=>e.field["x-kai-placeholder"],d=()=>[e.field.description?n:"",e.error()?t:""].filter(Boolean).join(" ")||void 0,h=()=>({id:r,value:e.value(),field:e.field,disabled:e.disabled||e.field.readOnly===!0,placeholder:l(),required:e.required,invalid:!!e.error(),describedBy:d(),label:a(),onInput:e.onInput,onBlur:e.onBlur}),v=()=>["fieldset","repeater","checkbox-group","multiselect","radio","taglist"].includes(i());return(()=>{var p=hr();return m(p,u(y,{get when(){return!v()},get children(){var g=gr();return j(g,"for",r),m(g,a,null),m(g,u(y,{get when(){return e.required},get children(){return mr()}}),null),g}}),null),m(p,u(y,{get when(){return e.field.description},get children(){var g=fr();return j(g,"id",n),m(g,()=>e.field.description),g}}),null),m(p,u(Er,{get widget(){return i()},get common(){return h()},get fieldKey(){return e.fieldKey}}),null),m(p,u(y,{get when(){return e.error()},get children(){var g=pr();return j(g,"id",t),m(g,()=>e.error()),g}}),null),k(()=>j(p,"data-field",e.fieldKey)),p})()}function Er(e){const r=()=>e.widget,t=()=>e.common;return[u(y,{get when(){return r()==="text"||r()==="email"||r()==="url"||r()==="date"||r()==="datetime"||r()==="time"||r()==="password"},get children(){return u(He,x(t,{get variant(){return r()}}))}}),u(y,{get when(){return r()==="textarea"},get children(){return u(Pe,x(t))}}),u(y,{get when(){return r()==="number"},get children(){return u(Qe,x(t))}}),u(y,{get when(){return r()==="slider"},get children(){return u(We,x(t))}}),u(y,{get when(){return r()==="rating"},get children(){return u(Xe,x(t))}}),u(y,{get when(){return r()==="switch"},get children(){return u(er,x(t))}}),u(y,{get when(){return r()==="checkbox"},get children(){return u(rr,x(t))}}),u(y,{get when(){return r()==="radio"},get children(){return u(tr,x(t))}}),u(y,{get when(){return r()==="select"},get children(){return u(nr,x(t))}}),u(y,{get when(){return r()==="checkbox-group"},get children(){return u(ir,x(t))}}),u(y,{get when(){return r()==="multiselect"},get children(){return u(ar,x(t))}}),u(y,{get when(){return r()==="taglist"},get children(){return u(lr,x(t))}}),u(y,{get when(){return r()==="repeater"},get children(){return u(Rr,x(t,{inlineMax:U}))}}),u(y,{get when(){return r()==="fieldset"},get children(){return u(Nr,x(t,{inlineMax:U}))}}),u(y,{get when(){return r()==="unsupported"},get children(){var n=vr(),a=n.firstChild,i=a.nextSibling;return i.nextSibling,m(n,()=>e.fieldKey,i),n}})]}function Nr(e){const r=()=>e.field.properties??{},t=()=>e.value&&typeof e.value=="object"?e.value:{},n=(a,i)=>{e.onInput({...t(),[a]:i})};return(()=>{var a=br(),i=a.firstChild;return m(i,()=>e.label),m(a,u(C,{get each(){return Object.keys(r())},children:l=>u(Z,{fieldKey:l,get field(){return r()[l]},get required(){return(e.field.required??[]).includes(l)},get inlineMax(){return e.inlineMax},value:()=>t()[l],error:()=>{},get disabled(){return e.disabled},onInput:d=>n(l,d),get onBlur(){return e.onBlur}})}),null),a})()}function Rr(e){const r=()=>e.field.items??{type:"object",properties:{}},t=()=>Array.isArray(e.value)?e.value:[],n=d=>e.onInput(d),a=()=>n([...t(),{}]),i=d=>n(t().filter((h,v)=>v!==d)),l=(d,h,v)=>{const p=t().slice();p[d]={...p[d],[h]:v},n(p)};return(()=>{var d=xr(),h=d.firstChild;return m(h,()=>e.label),m(d,u(ke,{get each(){return t()},children:(v,p)=>(()=>{var g=yr(),S=g.firstChild,w=S.firstChild;return w.firstChild,m(w,p+1,null),m(S,u(N,{type:"button",size:"icon-sm",variant:"ghost","aria-label":`Remove row ${p+1}`,get disabled(){return e.disabled},onClick:()=>i(p),children:"\u2715"}),null),m(g,u(C,{get each(){return Object.keys(r().properties??{})},children:I=>u(Z,{fieldKey:I,get field(){return r().properties[I]},get required(){return(r().required??[]).includes(I)},get inlineMax(){return e.inlineMax},value:()=>{var M;return(M=v())==null?void 0:M[I]},error:()=>{},get disabled(){return e.disabled},onInput:M=>l(p,I,M),get onBlur(){return e.onBlur}})}),null),g})()}),null),m(d,u(N,{type:"button",variant:"outline",size:"sm",get disabled(){return e.disabled},onClick:a,children:"Add item"}),null),d})()}function Tr(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}we("kai-form",{data:void 0,cardId:void 0,heading:void 0,resolution:void 0,values:void 0,defaultValues:void 0,disabled:!1},(e,{element:r,dispatch:t,flag:n,expose:a})=>{let i;return a({focus:l=>i?.focus(l),send:()=>i?.send(),validate:()=>i?.validate()??{valid:!1},reset:()=>i?.reset(),dismiss:()=>i?.dismiss(),reopen:()=>i?.reopen()}),u(Lr,{get data(){return e.data},get cardId(){return e.cardId??(r.id||"kai-form")},get heading(){return e.heading},get resolution(){return e.resolution},get values(){return e.values},get defaultValues(){return e.defaultValues},get disabled(){return n("disabled")},onValuesChange:l=>t("kai-values-change",l),controllerRef:l=>i=l,hostElement:r})});
|
|
1
|
+
import{c as u,m as x,i as m,S as y,l as L,n as pe,d as j,a as k,F as C,b as T,g as he,t as b,e as ve,s as be,j as E,h as K,o as D,k as xe,E as ye,I as ke,f as we}from"./chunks/define-D1din7Ld.js";import{c as ee,p as q,u as J}from"./chunks/store-CHyW95TP.js";import{c as O}from"./chunks/cn-CU7UAWzk.js";import{B as N}from"./chunks/button-ZWNif3--.js";import{C as z}from"./chunks/card-BkHbp4BA.js";import{u as Ie,a as $e,D as Ae}from"./chunks/use-card-resolution-BSu_XHjH.js";import{e as Se}from"./chunks/card-routing-C986KuUA.js";import{T as je}from"./chunks/textarea-CUwqAX0G.js";import{I as Ce,F as R}from"./chunks/input-Dds1kFyt.js";import{s as Oe}from"./chunks/star-CSJtGxgv.js";import{c as Le}from"./chunks/check-B9-gn6SS.js";function _(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Be(e,r){switch(r){case"integer":return typeof e=="number"&&Number.isInteger(e);case"number":return typeof e=="number"&&Number.isFinite(e);case"array":return Array.isArray(e);case"null":return e===null;case"object":return _(e)==="object";default:return typeof e===r}}function F(e,r,t,n){const a=t||"(root)";if(e.type&&!Be(r,e.type)){n.push(`${a}: expected ${e.type}, got ${_(r)}`);return}if("const"in e&&JSON.stringify(r)!==JSON.stringify(e.const)&&n.push(`${a}: must equal const ${JSON.stringify(e.const)}`),e.enum&&!e.enum.some(i=>JSON.stringify(i)===JSON.stringify(r))&&n.push(`${a}: must be one of ${JSON.stringify(e.enum)}`),typeof r=="number"&&(e.minimum!==void 0&&r<e.minimum&&n.push(`${a}: < minimum ${e.minimum}`),e.maximum!==void 0&&r>e.maximum&&n.push(`${a}: > maximum ${e.maximum}`),e.exclusiveMinimum!==void 0&&r<=e.exclusiveMinimum&&n.push(`${a}: <= exclusiveMinimum`),e.exclusiveMaximum!==void 0&&r>=e.exclusiveMaximum&&n.push(`${a}: >= exclusiveMaximum`)),typeof r=="string"&&(e.minLength!==void 0&&r.length<e.minLength&&n.push(`${a}: shorter than minLength ${e.minLength}`),e.maxLength!==void 0&&r.length>e.maxLength&&n.push(`${a}: longer than maxLength ${e.maxLength}`),e.pattern!==void 0&&!new RegExp(e.pattern).test(r)&&n.push(`${a}: does not match pattern`)),Array.isArray(r)&&(e.minItems!==void 0&&r.length<e.minItems&&n.push(`${a}: fewer than minItems ${e.minItems}`),e.maxItems!==void 0&&r.length>e.maxItems&&n.push(`${a}: more than maxItems ${e.maxItems}`),e.uniqueItems&&new Set(r.map(i=>JSON.stringify(i))).size!==r.length&&n.push(`${a}: items not unique`),e.items&&r.forEach((i,l)=>F(e.items,i,`${a}[${l}]`,n))),_(r)==="object"){const i=r;for(const l of e.required??[])(!(l in i)||i[l]===void 0)&&n.push(`${a}.${l}: required`);if(e.properties)for(const[l,d]of Object.entries(e.properties))l in i&&i[l]!==void 0&&F(d,i[l],`${a}.${l}`,n)}}function qe(e,r){const t=[];return F(e,r,"",t),{valid:t.length===0,errors:t}}var Me=b('<span class="self-end text-xs text-muted-foreground">/'),Ee=b('<div class="flex flex-col gap-1">'),Ne=b("<input data-control type=number>"),Re=b('<div class="flex items-center gap-3"><input data-control type=range class=kai-range><span class="min-w-9 shrink-0 rounded-md bg-background px-2 py-1 text-center text-sm font-medium tabular-nums text-foreground shadow-sm">'),Te=b('<div role=radiogroup data-control tabindex=0 class="flex items-center gap-1 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">'),Ke=b('<button type=button role=radio tabindex=-1 class="rounded p-0.5 text-muted-foreground hover:text-foreground">'),Ve=b("<button data-control type=button role=switch><span>"),De=b('<label class="-mx-1.5 inline-flex cursor-pointer items-center gap-2.5 rounded-md px-1.5 py-1.5 text-sm text-foreground transition-colors hover:bg-muted/60"><input data-control type=checkbox class=kai-checkbox><span>'),Je=b('<div role=radiogroup data-control class="divide-y divide-border overflow-hidden rounded-lg border border-input">'),ze=b("<label><input type=radio class=kai-radio><span>"),_e=b("<select data-control><option value disabled>"),re=b("<option>"),Fe=b('<div role=group data-control class="divide-y divide-border overflow-hidden rounded-lg border border-input">'),Ue=b("<label><input type=checkbox class=kai-checkbox><span>"),Ye=b("<select data-control multiple>"),Ze=b('<div class="flex flex-col gap-2"role=group><div class="flex flex-wrap gap-1.5"></div><div class="flex items-center gap-2"><input data-control type=text><button type=button class="rounded-md border border-input px-3 py-2 text-sm text-foreground hover:bg-muted disabled:opacity-50">Add'),Ge=b('<span class="inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs text-foreground"><button type=button class="text-muted-foreground hover:text-foreground">\u2715');function A(e){return{"aria-required":e.required||void 0,"aria-invalid":e.invalid||void 0,"aria-describedby":e.describedBy}}function He(e){const r=()=>{switch(e.variant){case"email":return"email";case"url":return"url";case"date":return"date";case"datetime":return"datetime-local";case"time":return"time";case"password":return"password";default:return"text"}};return u(Ce,x({get id(){return e.id},"data-control":!0,get type(){return r()},get value(){return e.value??""},get placeholder(){return e.placeholder},get invalid(){return e.invalid},get disabled(){return e.disabled},get minLength(){return e.field.minLength},get maxLength(){return e.field.maxLength}},()=>A(e),{onValueInput:t=>e.onInput(t),onValueChange:()=>e.onBlur()}))}function Pe(e){const r=()=>(e.value??"").length;return(()=>{var t=Ee();return m(t,u(je,x({get id(){return e.id},"data-control":!0,get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get value(){return e.value??""},get placeholder(){return e.placeholder},get disabled(){return e.disabled},get maxLength(){return e.field.maxLength}},()=>A(e),{onInput:n=>e.onInput(n.currentTarget.value),get onBlur(){return e.onBlur}})),null),m(t,u(y,{get when(){return e.field.maxLength!==void 0},get children(){var n=Me(),a=n.firstChild;return m(n,r,a),m(n,()=>e.field.maxLength,null),n}}),null),t})()}function Qe(e){const r=()=>e.field["x-kai-step"]??(e.field.type==="integer"?1:void 0);return(()=>{var t=Ne();return L(t,x({get id(){return e.id},get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get value(){return pe(()=>e.value===void 0||e.value===null)()?"":String(e.value)},get placeholder(){return e.placeholder},get disabled(){return e.disabled},get min(){return e.field.minimum},get max(){return e.field.maximum},get step(){return r()}},()=>A(e),{onInput:n=>e.onInput(n.currentTarget.value),get onBlur(){return e.onBlur}}),!1,!1),t})()}function We(e){const r=()=>e.field.minimum??0,t=()=>e.field.maximum??100,n=()=>e.field["x-kai-step"]??(e.field.type==="integer"?1:void 0),a=()=>e.value===void 0||e.value===null?r():Number(e.value),i=()=>{const l=r(),d=t();return d>l?`${(a()-l)/(d-l)*100}%`:"0%"};return(()=>{var l=Re(),d=l.firstChild,h=d.nextSibling;return L(d,x({get id(){return e.id},get style(){return{"--kai-range-fill":i()}},get value(){return a()},get min(){return r()},get max(){return t()},get step(){return n()},get disabled(){return e.disabled},get"aria-valuetext"(){return String(a())}},()=>A(e),{onInput:v=>e.onInput(Number(v.currentTarget.value)),get onBlur(){return e.onBlur}}),!1,!1),m(h,a),l})()}function Xe(e){const r=()=>e.field.maximum??5,t=()=>Number(e.value??0),n=()=>Array.from({length:r()},(i,l)=>l+1),a=i=>{i.key==="ArrowRight"||i.key==="ArrowUp"?(i.preventDefault(),e.onInput(Math.min(r(),t()+1))):(i.key==="ArrowLeft"||i.key==="ArrowDown")&&(i.preventDefault(),e.onInput(Math.max(e.field.minimum??1,t()-1)))};return(()=>{var i=Te();return L(i,x({get"aria-label"(){return e.label}},()=>A(e),{onKeyDown:a}),!1,!0),m(i,u(C,{get each(){return n()},children:l=>(()=>{var d=Ke();return d.$$click=()=>e.onInput(l),j(d,"aria-label",`${l} ${l===1?"star":"stars"}`),m(d,u(Oe,{size:20,get class(){return O(l<=t()?"fill-current text-[var(--color-primary)]":"")},"aria-hidden":"true"})),k(h=>{var v=t()===l,p=e.disabled;return v!==h.e&&j(d,"aria-checked",h.e=v),p!==h.t&&(d.disabled=h.t=p),h},{e:void 0,t:void 0}),d})()})),i})()}function er(e){const r=()=>e.value===!0,t=()=>{e.disabled||(e.onInput(!r()),e.onBlur())};return(()=>{var n=Ve(),a=n.firstChild;return L(n,x({get id(){return e.id},get"aria-checked"(){return r()},get"aria-label"(){return e.label},get disabled(){return e.disabled},get class(){return O("relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",r()?"bg-[var(--color-primary)]":"bg-muted")}},()=>A(e),{onClick:t}),!1,!0),k(()=>T(a,O("inline-block h-5 w-5 transform rounded-full bg-background shadow transition-transform",r()?"translate-x-5":"translate-x-0.5"))),n})()}function rr(e){return(()=>{var r=De(),t=r.firstChild,n=t.nextSibling;return L(t,x({get id(){return e.id},get checked(){return e.value===!0},get disabled(){return e.disabled}},()=>A(e),{onChange:a=>{e.onInput(a.currentTarget.checked),e.onBlur()}}),!1,!1),m(n,()=>e.label),r})()}function tr(e){const r=()=>e.field.enum??[];return(()=>{var t=Je();return L(t,x({get"aria-label"(){return e.label}},()=>A(e)),!1,!0),m(t,u(C,{get each(){return r()},children:n=>(()=>{var a=ze(),i=a.firstChild,l=i.nextSibling;return i.addEventListener("change",()=>{e.onInput(n),e.onBlur()}),m(l,()=>String(n)),k(d=>{var h=O("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",e.value===n?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50"),v=e.id,p=e.disabled;return h!==d.e&&T(a,d.e=h),v!==d.t&&j(i,"name",d.t=v),p!==d.a&&(i.disabled=d.a=p),d},{e:void 0,t:void 0,a:void 0}),k(()=>i.value=String(n)),k(()=>i.checked=e.value===n),a})()})),t})()}function nr(e){const r=()=>e.field.enum??[];return(()=>{var t=_e(),n=t.firstChild;return L(t,x({get id(){return e.id},get class(){return O(R,e.invalid&&"border-destructive dark:border-red-400/70")},get disabled(){return e.disabled}},()=>A(e),{onChange:a=>{e.onInput(a.currentTarget.value),e.onBlur()}}),!1,!0),m(n,()=>e.placeholder??"Select\u2026"),m(t,u(C,{get each(){return r()},children:a=>(()=>{var i=re();return m(i,()=>String(a)),k(()=>i.selected=e.value===a),k(()=>i.value=String(a)),i})()}),null),k(()=>n.selected=e.value===void 0||e.value===""),t})()}function te(e){const r=e.items;return r&&"enum"in r&&Array.isArray(r.enum)?r.enum:[]}function ir(e){const r=()=>Array.isArray(e.value)?e.value:[],t=n=>{const a=r(),i=a.includes(n)?a.filter(l=>l!==n):[...a,n];e.onInput(i),e.onBlur()};return(()=>{var n=Fe();return L(n,x({get"aria-label"(){return e.label}},()=>A(e)),!1,!0),m(n,u(C,{get each(){return te(e.field)},children:a=>(()=>{var i=Ue(),l=i.firstChild,d=l.nextSibling;return l.addEventListener("change",()=>t(a)),m(d,()=>String(a)),k(h=>{var v=O("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",r().includes(a)?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50"),p=e.disabled;return v!==h.e&&T(i,h.e=v),p!==h.t&&(l.disabled=h.t=p),h},{e:void 0,t:void 0}),k(()=>l.checked=r().includes(a)),i})()})),n})()}function ar(e){const r=()=>Array.isArray(e.value)?e.value:[];return(()=>{var t=Ye();return L(t,x({get id(){return e.id},get"aria-label"(){return e.label},get class(){return O(R,"min-h-[6rem]",e.invalid&&"border-destructive dark:border-red-400/70")},get disabled(){return e.disabled}},()=>A(e),{onChange:n=>{const a=Array.from(n.currentTarget.selectedOptions).map(i=>i.value);e.onInput(a),e.onBlur()}}),!1,!0),m(t,u(C,{get each(){return te(e.field)},children:n=>(()=>{var a=re();return m(a,()=>String(n)),k(()=>a.selected=r().includes(n)),k(()=>a.value=String(n)),a})()})),t})()}function lr(e){const r=()=>Array.isArray(e.value)?e.value:[],[t,n]=he(""),a=()=>{const l=t().trim();l&&(e.onInput([...r(),l]),n(""),e.onBlur())},i=l=>{e.onInput(r().filter((d,h)=>h!==l)),e.onBlur()};return(()=>{var l=Ze(),d=l.firstChild,h=d.nextSibling,v=h.firstChild,p=v.nextSibling;return m(d,u(C,{get each(){return r()},children:(g,S)=>(()=>{var w=Ge(),I=w.firstChild;return m(w,g,I),I.$$click=()=>i(S()),j(I,"aria-label",`Remove ${g}`),k(()=>I.disabled=e.disabled),w})()})),L(v,x({get id(){return e.id},get class(){return O(R)},get value(){return t()},get placeholder(){return e.placeholder??"Add\u2026"},get disabled(){return e.disabled}},()=>A(e),{onInput:g=>n(g.currentTarget.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),a())}}),!1,!1),p.$$click=a,k(g=>{var S=e.label,w=e.disabled;return S!==g.e&&j(l,"aria-label",g.e=S),w!==g.t&&(p.disabled=g.t=w),g},{e:void 0,t:void 0}),l})()}ve(["click"]);var ur=b("<form novalidate>"),sr=b('<div class="flex w-full flex-wrap items-center justify-between gap-2"><div class="ml-auto flex flex-wrap items-center gap-2">'),or=b('<div class="flex flex-col gap-3"><p class="flex items-center gap-2 text-sm font-medium text-foreground"><span>Submitted</span></p><dl class="grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1.5">'),dr=b('<dt class="text-xs text-muted-foreground">'),cr=b('<dd class="m-0 text-sm font-medium text-foreground">'),mr=b('<span class="text-destructive dark:text-red-400"aria-hidden=true> *'),gr=b('<label class="text-sm font-medium text-foreground">'),fr=b('<p class="text-xs text-muted-foreground">'),pr=b('<p role=alert class="text-xs text-destructive dark:text-red-400">'),hr=b('<div class="flex flex-col gap-2 rounded-xl bg-surface p-3.5">'),vr=b('<p class="rounded-md border border-dashed border-border p-2 text-xs text-muted-foreground">Unsupported field "<!>".'),br=b('<fieldset class="flex flex-col gap-3 rounded-lg border border-border p-3"><legend class="px-1 text-sm font-medium text-foreground">'),xr=b('<fieldset class="flex flex-col gap-3 rounded-lg border border-border p-3"data-control><legend class="px-1 text-sm font-medium text-foreground">'),yr=b('<div class="flex flex-col gap-2 rounded-md border border-border/60 p-2"><div class="flex items-center justify-between"><span class="text-xs text-muted-foreground">Item ');const U=4,kr=new Set(["textarea","slider","rating","radio","select","checkbox","password","switch"]);function wr(e,r){const t=e["x-kai-widget"];if(t&&kr.has(t))switch(t){case"textarea":return"textarea";case"slider":return"slider";case"rating":return"rating";case"radio":return"radio";case"select":return"select";case"checkbox":return"checkbox";case"password":return"password";case"switch":return"switch"}switch(e.type){case"string":{if(Array.isArray(e.enum))return e.enum.length<=r?"radio":"select";switch(e.format){case"email":return"email";case"uri":case"url":return"url";case"date":return"date";case"date-time":return"datetime";case"time":return"time"}return e.maxLength!==void 0&&e.maxLength>120?"textarea":"text"}case"number":case"integer":return"number";case"boolean":return"switch";case"array":{const n=e.items;return n&&"enum"in n&&Array.isArray(n.enum)?n.enum.length<=r?"checkbox-group":"multiselect":n&&"type"in n&&n.type==="object"?"repeater":(n&&"type"in n&&n.type,"taglist")}case"object":return"fieldset";default:return"unsupported"}}function Y(e){return e.replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").trim().replace(/\b\w/g,r=>r.toUpperCase())}function Ir(e){const r=Object.keys(e.properties??{}),t=e["x-kai-order"];if(Array.isArray(t)){const i=t.filter(d=>r.includes(d)),l=r.filter(d=>!i.includes(d));return[...i,...l]}const n=(e.required??[]).filter(i=>r.includes(i)),a=r.filter(i=>!n.includes(i));return[...n,...a]}function $r(e,r){if(e.type==="number"||e.type==="integer"){if(r===""||r===null||r===void 0)return;const t=typeof r=="number"?r:Number(r);return Number.isNaN(t)?r:t}return e.type==="boolean"?!!r:r}const Ar="^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$";function Sr(e){const r={type:e.type};return e.enum&&(r.enum=e.enum),e.minimum!==void 0&&(r.minimum=e.minimum),e.maximum!==void 0&&(r.maximum=e.maximum),e.minLength!==void 0&&(r.minLength=e.minLength),e.maxLength!==void 0&&(r.maxLength=e.maxLength),e.minItems!==void 0&&(r.minItems=e.minItems),e.maxItems!==void 0&&(r.maxItems=e.maxItems),e.pattern!==void 0?r.pattern=e.pattern:e.format==="email"&&(r.pattern=Ar),r}function ne(e){return e==null||e===""||Array.isArray(e)&&e.length===0}function V(e,r){const t={},n=new Set(e.required??[]);for(const[a,i]of Object.entries(e.properties??{})){const l=r[a];if(n.has(a)&&ne(l)){t[a]=`${i.title??Y(a)} is required.`;continue}if(ne(l))continue;const d=qe(Sr(i),l);d.valid||(t[a]=jr(i,a,d.errors[0]))}return{valid:Object.keys(t).length===0,fieldErrors:t}}function jr(e,r,t){const n=e.title??Y(r);return t?t.includes("minimum")?`${n} must be at least ${e.minimum}.`:t.includes("maximum")?`${n} must be at most ${e.maximum}.`:t.includes("minLength")?`${n} must be at least ${e.minLength} characters.`:t.includes("maxLength")?`${n} must be at most ${e.maxLength} characters.`:t.includes("pattern")?e.format==="email"?`${n} must be a valid email address.`:`${n} is not in the expected format.`:t.includes("one of")?`${n} must be one of the allowed options.`:t.includes("expected integer")?`${n} must be a whole number.`:t.includes("expected")?`${n} is invalid.`:t.includes("minItems")?`${n}: choose at least ${e.minItems}.`:t.includes("maxItems")?`${n}: choose at most ${e.maxItems}.`:`${n} is invalid.`:`${n} is invalid.`}function Cr(e,r){return e?.["x-kai-widget"]==="password"?r==null||r===""?"\u2014":"\u2022\u2022\u2022\u2022":typeof r=="boolean"?r?"Yes":"No":r==null||r===""?"\u2014":Array.isArray(r)?r.length?r.map(t=>String(t)).join(", "):"\u2014":String(r)}function Or(e,r){const t=e.properties??{};return(Array.isArray(e["x-kai-order"])&&e["x-kai-order"].length>0?e["x-kai-order"].filter(n=>n in t):Object.keys(t)).map(n=>{const a=t[n];return{key:n,label:a?.title??n,value:Cr(a,r[n])}})}function ie(e,r){const t={};for(const n of Object.keys(e.properties??{})){const a=e.properties[n],i=$r(a,r[n]);i===void 0||i===""||Array.isArray(i)&&i.length===0||(t[n]=i)}return t}const ae={type:"object",properties:{}};function Lr(e){const r=x({cardId:"kai-form"},e),[t]=be(r,["data","cardId","heading","host","hostElement","class","resolution","values","defaultValues","disabled","onValuesChange","controllerRef"]),n=Ie(),a=s=>{const o=t.host??n;o?o.emit(s):t.hostElement&&Se(t.hostElement,s)},i=E(()=>{const s=t.data;return s?s.type!=="object"||typeof s.properties!="object"||s.properties===null?{ok:!1,message:"This form couldn't be displayed."}:{ok:!0,message:""}:{ok:!1,message:"No form definition provided."}}),l=E(()=>i().ok?t.data??ae:ae),d=()=>l()["x-kai-inlineMax"]??U,h=E(()=>Ir(l())),v=$e({prop:()=>t.resolution,data:()=>t.data}),[p,g]=ee({}),[S,w]=ee({}),I=s=>{const o={};for(const[c,f]of Object.entries(s.properties??{}))f.default!==void 0?o[c]=f.default:f.type==="array"&&(o[c]=[]);return t.defaultValues&&Object.assign(o,t.defaultValues),t.values&&Object.assign(o,t.values),o},M=s=>{const o=I(s);g(q(c=>{for(const f of Object.keys(c))delete c[f];Object.assign(c,o)})),w(q(c=>{for(const f of Object.keys(c))delete c[f]}))},ue=()=>{const s=l(),o={};for(const[c,f]of Object.entries(s.properties??{}))f.default!==void 0?o[c]=f.default:f.type==="array"&&(o[c]=[]);g(q(c=>{for(const f of Object.keys(c))delete c[f];Object.assign(c,o)})),w(q(c=>{for(const f of Object.keys(c))delete c[f]}))};K(D(()=>t.data,()=>{i().ok&&M(l())})),K(D(()=>t.values,s=>{s&&g(q(o=>{for(const c of Object.keys(o))delete o[c];Object.assign(o,s)}))},{defer:!0})),K(D(i,s=>{s.ok?a({kind:"ready",cardId:t.cardId}):a({kind:"error",cardId:t.cardId,message:s.message})})),K(()=>{var s;const o=t.hostElement;o&&(((s=v.resolution())==null?void 0:s.kind)==="submit"?o.setAttribute("data-kai-resolved","submitted"):o.removeAttribute("data-kai-resolved"))});const se=(s,o)=>{var c;g(s,o),S[s]&&w(s,void 0);const f=J(p),$=ie(l(),f),{valid:B}=V(l(),f);(c=t.onValuesChange)==null||c.call(t,{values:$,valid:B})},oe=s=>{const o=l().properties[s];if(!o)return;const c=V({required:l().required,properties:{[s]:o}},{[s]:p[s]});w(s,c.fieldErrors[s])},G=s=>{var o;return s?.closest("form")??s??((o=t.hostElement)==null?void 0:o.shadowRoot)??document},H=(s,o,c)=>{var f;(f=o.querySelector(`[data-field="${Tr(s)}"] [data-control]`))==null||f.focus(c)},P=s=>{if(v.isResolved())return!1;const o=J(p),c=V(l(),o);if(w(q($=>{for(const B of Object.keys($))delete $[B];Object.assign($,c.fieldErrors)})),!c.valid){const $=h().find(B=>c.fieldErrors[B]);if($){const B=G(s);queueMicrotask(()=>H($,B))}return!1}const f=ie(l(),o);return a({kind:"submit",cardId:t.cardId,data:f}),v.setLocal({kind:"submit",data:f}),!0},de=s=>{s.preventDefault(),P(s.currentTarget)},Q=()=>{v.isResolved()||(a({kind:"dismiss",cardId:t.cardId}),v.setLocal({kind:"dismissed"}))},W=()=>a({kind:"reopen",cardId:t.cardId}),X=()=>t.disabled===!0;xe(()=>{var s;(s=t.controllerRef)==null||s.call(t,{focus:o=>{const c=G(),f=h().find($=>S[$])??h()[0];f&&H(f,c,o)},send:()=>{P()},validate:()=>{const o=J(p),c=V(l(),o);return w(q(f=>{for(const $ of Object.keys(f))delete f[$];Object.assign(f,c.fieldErrors)})),c.valid?{valid:!0}:{valid:!1,errors:c.fieldErrors}},reset:()=>ue(),dismiss:()=>Q(),reopen:()=>W()})});const ce=E(()=>l()["x-kai-actions"]??[]),me=()=>l()["x-kai-submitLabel"]??"Submit",ge=()=>l()["x-kai-dismissible"]===!0,fe=E(()=>{const s=v.resolution();return!s||s.kind!=="submit"?[]:Or(l(),s.data??{})});return u(y,{get when(){return i().ok},get fallback(){return u(z,{get heading(){return t.heading},get errorMessage(){return i().message}})},get children(){return u(ye,{fallback:()=>(a({kind:"error",cardId:t.cardId,message:"The form failed to render."}),u(z,{get heading(){return t.heading},errorMessage:"The form failed to render."})),get children(){return u(y,{get when(){return!v.isDeferred()},get fallback(){return u(Ae,{type:"form",get title(){return t.heading??l().title},onReopen:W})},get children(){return u(z,{get heading(){return t.heading??l().title},get description(){return l().description},get actions(){return u(y,{get when(){return!v.isResolved()},fallback:void 0,get children(){var s=sr(),o=s.firstChild;return m(s,u(y,{get when(){return ge()},get children(){return u(N,{type:"button",variant:"ghost",onClick:Q,children:"Dismiss"})}}),o),m(o,u(C,{get each(){return ce()},children:c=>u(N,{type:"button",get variant(){return c.variant??"ghost"},onClick:()=>a({kind:"action",cardId:t.cardId,action:c.id}),get children(){return c.label}})}),null),m(o,u(N,{type:"submit",get form(){return le()},get disabled(){return X()},get children(){return me()}}),null),s}})},get children(){return u(y,{get when(){return!v.isResolved()},get fallback(){return u(Mr,{get rows(){return fe()},get optimistic(){return v.isOptimistic()}})},get children(){var s=ur();return s.addEventListener("submit",de),m(s,u(C,{get each(){return h()},children:o=>u(Z,{fieldKey:o,get field(){return l().properties[o]},get required(){return(l().required??[]).includes(o)},get inlineMax(){return d()},value:()=>p[o],error:()=>S[o],get disabled(){return X()},onInput:c=>se(o,c),onBlur:()=>oe(o)})})),k(o=>{var c=le(),f=O("flex flex-col gap-3",t.class);return c!==o.e&&j(s,"id",o.e=c),f!==o.t&&T(s,o.t=f),o},{e:void 0,t:void 0}),s}})}})}})}})}})}let Br=0;const qr=`kai-form-${++Br}`;function le(){return qr}function Mr(e){return(()=>{var r=or(),t=r.firstChild,n=t.firstChild,a=t.nextSibling;return m(t,u(Le,{size:16,"aria-hidden":"true"}),n),m(a,u(C,{get each(){return e.rows},children:i=>[(()=>{var l=dr();return m(l,()=>i.label),l})(),(()=>{var l=cr();return m(l,()=>i.value),l})()]})),k(()=>j(r,"role",e.optimistic?"status":void 0)),r})()}function Z(e){const r=`f-${e.fieldKey}-${Math.random().toString(36).slice(2,8)}`,t=`${r}-err`,n=`${r}-desc`,a=()=>e.field.title??Y(e.fieldKey),i=E(()=>wr(e.field,e.inlineMax)),l=()=>e.field["x-kai-placeholder"],d=()=>[e.field.description?n:"",e.error()?t:""].filter(Boolean).join(" ")||void 0,h=()=>({id:r,value:e.value(),field:e.field,disabled:e.disabled||e.field.readOnly===!0,placeholder:l(),required:e.required,invalid:!!e.error(),describedBy:d(),label:a(),onInput:e.onInput,onBlur:e.onBlur}),v=()=>["fieldset","repeater","checkbox-group","multiselect","radio","taglist"].includes(i());return(()=>{var p=hr();return m(p,u(y,{get when(){return!v()},get children(){var g=gr();return j(g,"for",r),m(g,a,null),m(g,u(y,{get when(){return e.required},get children(){return mr()}}),null),g}}),null),m(p,u(y,{get when(){return e.field.description},get children(){var g=fr();return j(g,"id",n),m(g,()=>e.field.description),g}}),null),m(p,u(Er,{get widget(){return i()},get common(){return h()},get fieldKey(){return e.fieldKey}}),null),m(p,u(y,{get when(){return e.error()},get children(){var g=pr();return j(g,"id",t),m(g,()=>e.error()),g}}),null),k(()=>j(p,"data-field",e.fieldKey)),p})()}function Er(e){const r=()=>e.widget,t=()=>e.common;return[u(y,{get when(){return r()==="text"||r()==="email"||r()==="url"||r()==="date"||r()==="datetime"||r()==="time"||r()==="password"},get children(){return u(He,x(t,{get variant(){return r()}}))}}),u(y,{get when(){return r()==="textarea"},get children(){return u(Pe,x(t))}}),u(y,{get when(){return r()==="number"},get children(){return u(Qe,x(t))}}),u(y,{get when(){return r()==="slider"},get children(){return u(We,x(t))}}),u(y,{get when(){return r()==="rating"},get children(){return u(Xe,x(t))}}),u(y,{get when(){return r()==="switch"},get children(){return u(er,x(t))}}),u(y,{get when(){return r()==="checkbox"},get children(){return u(rr,x(t))}}),u(y,{get when(){return r()==="radio"},get children(){return u(tr,x(t))}}),u(y,{get when(){return r()==="select"},get children(){return u(nr,x(t))}}),u(y,{get when(){return r()==="checkbox-group"},get children(){return u(ir,x(t))}}),u(y,{get when(){return r()==="multiselect"},get children(){return u(ar,x(t))}}),u(y,{get when(){return r()==="taglist"},get children(){return u(lr,x(t))}}),u(y,{get when(){return r()==="repeater"},get children(){return u(Rr,x(t,{inlineMax:U}))}}),u(y,{get when(){return r()==="fieldset"},get children(){return u(Nr,x(t,{inlineMax:U}))}}),u(y,{get when(){return r()==="unsupported"},get children(){var n=vr(),a=n.firstChild,i=a.nextSibling;return i.nextSibling,m(n,()=>e.fieldKey,i),n}})]}function Nr(e){const r=()=>e.field.properties??{},t=()=>e.value&&typeof e.value=="object"?e.value:{},n=(a,i)=>{e.onInput({...t(),[a]:i})};return(()=>{var a=br(),i=a.firstChild;return m(i,()=>e.label),m(a,u(C,{get each(){return Object.keys(r())},children:l=>u(Z,{fieldKey:l,get field(){return r()[l]},get required(){return(e.field.required??[]).includes(l)},get inlineMax(){return e.inlineMax},value:()=>t()[l],error:()=>{},get disabled(){return e.disabled},onInput:d=>n(l,d),get onBlur(){return e.onBlur}})}),null),a})()}function Rr(e){const r=()=>e.field.items??{type:"object",properties:{}},t=()=>Array.isArray(e.value)?e.value:[],n=d=>e.onInput(d),a=()=>n([...t(),{}]),i=d=>n(t().filter((h,v)=>v!==d)),l=(d,h,v)=>{const p=t().slice();p[d]={...p[d],[h]:v},n(p)};return(()=>{var d=xr(),h=d.firstChild;return m(h,()=>e.label),m(d,u(ke,{get each(){return t()},children:(v,p)=>(()=>{var g=yr(),S=g.firstChild,w=S.firstChild;return w.firstChild,m(w,p+1,null),m(S,u(N,{type:"button",size:"icon-sm",variant:"ghost","aria-label":`Remove row ${p+1}`,get disabled(){return e.disabled},onClick:()=>i(p),children:"\u2715"}),null),m(g,u(C,{get each(){return Object.keys(r().properties??{})},children:I=>u(Z,{fieldKey:I,get field(){return r().properties[I]},get required(){return(r().required??[]).includes(I)},get inlineMax(){return e.inlineMax},value:()=>{var M;return(M=v())==null?void 0:M[I]},error:()=>{},get disabled(){return e.disabled},onInput:M=>l(p,I,M),get onBlur(){return e.onBlur}})}),null),g})()}),null),m(d,u(N,{type:"button",variant:"outline",size:"sm",get disabled(){return e.disabled},onClick:a,children:"Add item"}),null),d})()}function Tr(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}we("kai-form",{data:void 0,cardId:void 0,heading:void 0,resolution:void 0,values:void 0,defaultValues:void 0,disabled:!1},(e,{element:r,dispatch:t,flag:n,expose:a})=>{let i;return a({focus:l=>i?.focus(l),send:()=>i?.send(),validate:()=>i?.validate()??{valid:!1},reset:()=>i?.reset(),dismiss:()=>i?.dismiss(),reopen:()=>i?.reopen()}),u(Lr,{get data(){return e.data},get cardId(){return e.cardId??(r.id||"kai-form")},get heading(){return e.heading},get resolution(){return e.resolution},get values(){return e.values},get defaultValues(){return e.defaultValues},get disabled(){return n("disabled")},onValuesChange:l=>t("kai-values-change",l),controllerRef:l=>i=l,hostElement:r})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as s,c as o,
|
|
1
|
+
import{f as s,c as o,w as d,n as i,t as n}from"./chunks/define-D1din7Ld.js";import{b as c,c as p,a as u}from"./chunks/hover-card-Cmm6Q53m.js";import{w as v}from"./chunks/disclosure-CIZ5c8nO.js";var m=n("<style>:host{display:inline-block}"),f=n("<slot>"),g=n("<slot name=card>");s("kai-hover-card",{openDelay:void 0,closeDelay:void 0,placement:void 0,open:void 0,defaultOpen:void 0,disabled:void 0},(l,r)=>{const{flag:t}=r;let a;return v(r,()=>a,()=>l.open),[m(),o(u,{get openDelay(){return i(()=>l.openDelay!=null)()?Number(l.openDelay):void 0},get closeDelay(){return i(()=>l.closeDelay!=null)()?Number(l.closeDelay):void 0},get defaultOpen(){return t("defaultOpen")},get disabled(){return t("disabled")},controllerRef:e=>a=e,get children(){return[o(c,{get children(){var e=f();return e._$owner=d(),e}}),o(p,{get placement(){return l.placement??void 0},get children(){var e=g();return e._$owner=d(),e}})]}})]});
|
package/dist/elements/icon.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as l,i as m,a as n,b as r,t as a}from"./chunks/define-
|
|
1
|
+
import{f as l,i as m,a as n,b as r,t as a}from"./chunks/define-D1din7Ld.js";import{r as o}from"./chunks/icon-BLb8beoi.js";import{c as f}from"./chunks/cn-CU7UAWzk.js";var t=a("<style>:host{display:inline-flex}"),z=a("<span part=icon>");const e={sm:"size-3.5",md:"size-4",lg:"size-5"};l("kai-icon",{name:"",size:"md"},i=>[t(),(()=>{var s=z();return m(s,()=>o(i.name,{class:"size-full",imgClass:"size-full",spanClass:"size-full"})),n(()=>r(s,f("inline-flex shrink-0",e[i.size??"md"]??e.md))),s})()]);
|
package/dist/elements/image.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as b,g as v,h as f,p,c as o,a as y,d as m,b as h,S as w,t as T,f as R}from"./chunks/define-
|
|
1
|
+
import{s as b,g as v,h as f,p,c as o,a as y,d as m,b as h,S as w,t as T,f as R}from"./chunks/define-D1din7Ld.js";import{c}from"./chunks/cn-CU7UAWzk.js";import{S as U}from"./chunks/skeleton-DSXW5Yya.js";var k=T("<img role=img>");function A(r,e){if(r&&e)return`data:${e};base64,${r}`}function L(r){const[e,j]=b(r,["base64","uint8Array","mediaType","class","alt"]),[g,n]=v(void 0),l=()=>e.mediaType??"image/png";f(()=>{const t=e.uint8Array,a=l();if(t&&a){const i=new Blob([t],{type:a}),s=URL.createObjectURL(i);n(s),p(()=>URL.revokeObjectURL(s))}else n(void 0)});const d=()=>A(e.base64,l())??g();return o(w,{get when(){return d()},get fallback(){return o(U,{get"aria-label"(){return e.alt},role:"img",get class(){return c("h-auto max-w-full overflow-hidden",e.class)}})},get children(){var t=k();return y(a=>{var i=d(),s=e.alt,u=c("h-auto max-w-full overflow-hidden rounded-md",e.class);return i!==a.e&&m(t,"src",a.e=i),s!==a.t&&m(t,"alt",a.t=s),u!==a.a&&h(t,a.a=u),a},{e:void 0,t:void 0,a:void 0}),t}})}R("kai-image",{base64:void 0,bytes:void 0,alt:"",mediaType:void 0},r=>o(L,{get alt(){return r.alt??""},get base64(){return r.base64},get uint8Array(){return r.bytes},get mediaType(){return r.mediaType}}));
|