@tempots/beatui 0.24.0 → 0.25.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.
@@ -5,7 +5,7 @@ import { InputWrapperOptions } from '../input';
5
5
  export type ListControllerPayload<T> = ListInputPayload<T>;
6
6
  export type { MoveDirection, MovableDirection };
7
7
  export type ListControlsLayout = 'below' | 'aside';
8
- export type ListControlOptions<T> = Merge<Omit<InputWrapperOptions, 'content'>, {
8
+ export type BaseListControlOptions<T> = {
9
9
  controller: ArrayController<T[]>;
10
10
  element: (payload: ListInputPayload<T>) => TNode;
11
11
  separator?: (pos: ElementPosition) => TNode;
@@ -19,5 +19,7 @@ export type ListControlOptions<T> = Merge<Omit<InputWrapperOptions, 'content'>,
19
19
  createItem?: () => T;
20
20
  addLabel?: TNode;
21
21
  controlsLayout?: Value<ListControlsLayout>;
22
- }>;
22
+ };
23
+ export type ListControlOptions<T> = Merge<Omit<InputWrapperOptions, 'content'>, BaseListControlOptions<T>>;
24
+ export declare const BaseListControl: <T>(options: BaseListControlOptions<T>) => import("@tempots/dom").Renderable<import("@tempots/dom").DOMContext>;
23
25
  export declare const ListControl: <T>(options: ListControlOptions<T>, ...children: TNode[]) => import("@tempots/dom").Renderable;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/beatui",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.umd.js",
6
6
  "module": "dist/index.es.js",
@@ -1 +0,0 @@
1
- "use strict";const t=require("@tempots/dom"),Et=require("./colors-Qc1mmmfr.cjs"),Ft=require("./timer-BdH4cK6a.cjs"),et=require("@tempots/ui"),b=require("./translations-DpZ-btu9.cjs");class At extends Error{constructor(n="Missing implementation"){super(n),this.name="MissingImplementationError"}}const Dt=e=>Tt(e).split("_").join(" "),Tt=e=>(e=e.replace(/::/g,"/"),e=e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2"),e=e.replace(/([a-z\d])([A-Z])/g,"$1_$2"),e=e.replace(/-/g,"_"),e.toLowerCase()),St=e=>e.substring(0,1).toUpperCase()+e.substring(1),Bt=e=>{if(typeof Buffer<"u")return Buffer.from(e,"base64").toString("utf8");if(typeof atob<"u")return atob(e);throw new At("No implementation found for base64 decoding")};function Q({onChange:e,value:n,accept:l="*/*",enableClick:a=!0,content:r,disabled:o=!1,allowMultiple:s}){return t.Use(b.BeatUII18n,c=>{const u=t.Value.deriveProp(n??[]),i=t.prop(!1),m=f=>{f.preventDefault(),f.stopPropagation(),i.value=!0},d=f=>{f.preventDefault(),f.stopPropagation(),(!f.currentTarget||!f.currentTarget.contains(f.relatedTarget))&&(i.value=!1)},x=f=>{f.preventDefault(),f.stopPropagation(),i.value=!1;const v=Array.from(f.dataTransfer?.files||[]);v.length>0&&(u.value=v,e(v))},p=f=>{t.Value.get(a)&&f.currentTarget.querySelector('input[type="file"]')?.click()};let h=null;const g=()=>{if(h==null)return;const f=Array.from(h.files??[]);f.length>0&&(u.value=f,e(f)),h.value=""},V=f=>{t.Value.get(a)&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),p(f))};return t.html.div(t.attr.role("button"),t.attr.tabindex(t.Value.map(a,f=>f?0:-1)),t.attr.style("position: relative;"),t.on.dragover(m),t.on.dragleave(d),t.on.drop(x),t.on.click(p),t.on.keydown(V),t.html.input(t.attr.type("file"),t.attr.disabled(o),t.attr.accept(l),t.attr.multiple(s),t.attr.style("position: absolute; left: -9999px; opacity: 0; pointer-events: none;"),t.on.change(g),t.WithElement(f=>(h=f,t.OnDispose(u.on(v=>{const k=globalThis.DataTransfer;if(k!=null){const _=new k;v.forEach(w=>_.items.add(w)),f.files=_.files}}))))),t.aria.label(t.bind(c.$.dropZoneInstructions)(a)),r({files:u,clear:()=>u.value=[],change:u.set}))})}function Ut(e,n){return e.length===n.length&&e.every((l,a)=>l===n[a])}function Ot(e,n){const l=["bc-segmented-control",`bc-segmented-control--size-${e}`];return n&&l.push("bc-segmented-control--disabled"),l.join(" ")}function Nt({options:e,value:n,onChange:l,size:a="md",disabled:r=!1},...o){const s=Et.f(e).map(([c,u])=>({key:c,label:u}));return t.WithElement(()=>{const c=Object.fromEntries(s.map((i,m)=>[i.key,m])),u=t.prop(s.map(()=>({left:0,width:0})),Ut);return t.html.div(t.attr.class(t.computedOf(a,r)((i,m)=>Ot(i??"md",m??!1))),t.html.div(t.attr.class("bc-segmented-control__container"),t.html.div(t.attr.class("bc-segmented-control__indicator"),t.style.width(t.computedOf(n,u)((i,m)=>{const{width:d}=m[c[i]??0];return`${d}px`})),t.style.left(t.computedOf(n,u)((i,m)=>{const{left:d}=m[c[i]??0];return`${d}px`}))),s.map(({label:i,key:m},d)=>t.html.button(t.on.click(x=>{x.preventDefault(),t.Value.get(r)||l?.(m)}),t.attr.disabled(r),t.attr.class("bc-segmented-control__segment"),t.attr.class(t.Value.map(n,x=>x===m?"bc-segmented-control__segment--active":"bc-segmented-control__segment--inactive")),et.ElementRect(x=>{function p(){u.update(g=>{const V=[...g];return V[d]={width:x.value.width,left:x.value.localLeft},V})}const h=Ft.g(p);return t.OnDispose(h,x.on(p))}),i))),...o)})}function Lt(e){const n=e.type.toLowerCase();return n.startsWith("image/")&&(n.includes("jpeg")||n.includes("jpg")||n.includes("png")||n.includes("gif")||n.includes("webp")||n.includes("svg"))}function Rt(e){const n=e.type.toLowerCase();return n.startsWith("image/")?"vscode-icons:file-type-image":n.startsWith("video/")?"vscode-icons:file-type-video":n.startsWith("audio/")?"vscode-icons:file-type-audio":n.includes("pdf")?"vscode-icons:file-type-pdf2":n.includes("word")||n.includes("document")?"vscode-icons:file-type-word":n.includes("excel")||n.includes("spreadsheet")?"vscode-icons:file-type-excel":n.includes("powerpoint")||n.includes("presentation")?"vscode-icons:file-type-powerpoint":n.includes("zip")||n.includes("archive")?"vscode-icons:file-type-zip":n.includes("text")?"vscode-icons:file-type-text":n.includes("json")?"vscode-icons:file-type-json-official":n.includes("csv")?"vscode-icons:file-type-csv":n.includes("xml")?"vscode-icons:file-type-xml":n.includes("yaml")?"vscode-icons:file-type-yaml-official":"vscode-icons:file-type-binary"}function st(e){return t.When(e.map(Lt),()=>{const n=t.prop(null);return e.on(l=>{n.value&&URL.revokeObjectURL(n.value);const a=URL.createObjectURL(l);n.value=a}),t.html.div(t.attr.class("bc-file-input__thumbnail-container"),t.html.img(t.attr.src(n),t.attr.alt(e.map(l=>l.name)),t.attr.class("bc-file-input__thumbnail"),t.OnDispose(()=>{n.value&&URL.revokeObjectURL(n.value)})))},()=>b.Icon({icon:e.map(Rt)}))}const pt=(e,...n)=>{const{value:l=t.prop([]),accept:a="*/*",maxFiles:r,maxFileSize:o,onChange:s,onBlur:c,disabled:u,hasError:i,mode:m="default",showFileList:d=!0,...x}=e,p=l,h=t.Value.map(m,_=>_==="compact"),g=_=>{let w=_;if(r!=null){const I=t.Value.get(r);w=w.slice(0,I)}if(o){const I=t.Value.get(o);w=w.filter(y=>y.size<=I)}s?.(w)},V=_=>{const I=p.value.filter((y,C)=>C!==_);s?.(I)},f=()=>{s?.([])},v=({files:_,clear:w,change:I})=>t.Use(b.BeatUII18n,y=>t.html.div(t.attr.class("bc-file-input__drop-zone"),t.html.div(t.attr.class("bc-file-input__drop-zone-content bc-file-input__drop-zone-content--empty"),b.Icon({icon:"mdi:cloud-upload-outline",size:"xl"}),t.html.div(t.attr.class("bc-file-input__drop-zone-text"),t.bind(y.$.filesInputInstructions)(r,o,y.$.fileSizeUnits.value))))),k=({files:_})=>t.Use(b.BeatUII18n,w=>t.html.div(t.attr.class("bc-file-input__compact-input"),t.When(_.map(I=>I.length>0),()=>t.html.span(t.attr.class("bc-file-input__compact-value"),t.ForEach(_,I=>t.html.span(t.attr.class("bc-file-input__compact-value-item"),st(I),t.html.span(t.attr.class("bc-file-input__compact-value-item-name"),I.$.name)))),()=>t.html.span(t.attr.class("bc-file-input__compact-placeholder"),b.Icon({icon:"mdi:cloud-upload-outline",size:"sm"})," ",t.bind(w.$.filesInputInstructions)(r,o,w.$.fileSizeUnits.value)))));return t.Use(b.BeatUII18n,_=>b.InputContainer({baseContainer:t.Value.map(h,w=>!w),disabled:u,hasError:i,after:t.When(h,()=>t.When(p.map(({length:w})=>w>0),()=>b.CloseButton({size:"sm",label:_.$.clearAllFiles,disabled:u,onClick:f},t.attr.class("bc-file-input__compact-clear")))),...x,input:t.When(h,()=>t.html.div(t.attr.class("bc-file-input bc-file-input--compact"),Q({value:p,accept:a,enableClick:!0,allowMultiple:t.Value.map(r??1/0,w=>w>1),disabled:u,onChange:g,content:k})),()=>t.html.div(t.attr.class("bc-file-input"),Q({value:p,accept:a,enableClick:!0,allowMultiple:t.Value.map(r??1/0,w=>w>1),disabled:u,onChange:g,content:v}),t.When(d,()=>t.NotEmpty(p,()=>t.Fragment(t.html.div(t.attr.class("bc-file-input__file-list"),t.ForEach(p,(w,I)=>{const y=I.index;return t.html.div(t.attr.class("bc-file-input__file-item"),t.html.div(t.attr.class("bc-file-input__file-icon"),st(w)),t.html.div(t.attr.class("bc-file-input__file-info"),t.html.div(t.attr.class("bc-file-input__file-name"),t.attr.title(w.$.name),w.$.name),t.html.div(t.attr.class("bc-file-input__file-meta"),t.computedOf(w.$.size,_.$.fileSizeUnits)((C,M)=>b.formatFileSize(C,{units:M}))," • ",t.computedOf(w.$.type,_.$.unknownType)((C,M)=>C||M))),b.CloseButton({size:"sm",label:_.$.removeFile,disabled:u,onClick:()=>V(y)},t.attr.class("bc-file-input__remove-button")))})),t.When(p.map(({length:w})=>w>1),()=>t.html.div(t.attr.class("bc-file-input__clear-all-button-container"),t.html.button(t.attr.type("button"),t.attr.class("bc-file-input__clear-all-button"),t.attr.disabled(u),_.$.clearAllFiles,t.on.click(w=>{w.preventDefault(),w.stopPropagation(),f()})))))))))},...n))};async function dt(e){return new Promise((n,l)=>{const a=new FileReader;a.readAsDataURL(e),a.onload=()=>{const r=a.result;n(r.split(",")[1])},a.onerror=r=>l(r)})}function zt(e){return Promise.all(e.map(dt))}function Wt(e){if(e.length>=4){if(e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71)return"image/png";if(e[0]===255&&e[1]===216)return"image/jpeg";if(e[0]===71&&e[1]===73&&e[2]===70)return"image/gif";if(e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80)return"image/webp"}try{if(new TextDecoder("utf-8").decode(e.slice(0,256)).includes("<svg"))return"image/svg+xml"}catch{}return"application/octet-stream"}function Pt(e){const n=Bt(e??""),l=n.length,a=new Uint8Array(l);for(let r=0;r<l;r++)a[r]=n.charCodeAt(r);return a}function mt(e){const{value:n,onChange:l,onInput:a,...r}=e,o=new Map,s=t.Value.toSignal(n).map(m=>m.map((d,x)=>{const p=o.get(d),h=Pt(d??""),g=p?.type||Wt(h),V=p?.name??`file-${x}`,f=h.buffer.slice(h.byteOffset,h.byteOffset+h.byteLength),v=new Blob([f],{type:g});return new File([v],V,{type:g})})),c=m=>d=>{m&&zt(d).then(x=>{for(const[p,h]of x.entries())o.set(h,{name:d[p].name,type:d[p].type});m(x)})},u=c(l),i=c(a);return pt({...r,value:s,onChange:u,onInput:i})}function jt(e){const{value:n,onInput:l,onChange:a,...r}=e;return mt({...r,maxFiles:1,value:t.Value.map(n,o=>o==null?[]:[o]),onChange:o=>{a?.(o[0])},onInput:o=>{l?.(o[0])}})}function J(e){const n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]:[0,0,0]}function K(e,n,l){const a=r=>r.toString(16).padStart(2,"0");return`#${a(Math.max(0,Math.min(255,e)))}${a(Math.max(0,Math.min(255,n)))}${a(Math.max(0,Math.min(255,l)))}`}function Ht(e){if(!e)return[0,0,0,1];const l=e.trim().match(/^#?([a-fA-F0-9]{3,4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$/);if(l){const d=l[1];if(d.length===8){const x=parseInt(d.slice(0,2),16),p=parseInt(d.slice(2,4),16),h=parseInt(d.slice(4,6),16),g=parseInt(d.slice(6,8),16)/255;return[x,p,h,g]}if(d.length===6)return[parseInt(d.slice(0,2),16),parseInt(d.slice(2,4),16),parseInt(d.slice(4,6),16),1];if(d.length===4){const x=parseInt(d[0]+d[0],16),p=parseInt(d[1]+d[1],16),h=parseInt(d[2]+d[2],16),g=parseInt(d[3]+d[3],16)/255;return[x,p,h,g]}if(d.length===3){const x=parseInt(d[0]+d[0],16),p=parseInt(d[1]+d[1],16),h=parseInt(d[2]+d[2],16);return[x,p,h,1]}}const a=e.match(/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0|1|0?\.\d+)\s*\)$/i);if(a)return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10),parseFloat(a[4])];const r=e.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i);if(r)return[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10),1];const o=e.match(/^hsla?\(\s*([+-]?[\d.]+)(?:deg)?\s*[ ,]?\s*([\d.]+)%\s*[ ,]?\s*([\d.]+)%\s*(?:[/,]\s*(\d?(?:\.\d+)?))?\s*\)$/i);if(o){const d=parseFloat(o[1]),x=parseFloat(o[2]),p=parseFloat(o[3]),h=o[4]!=null?parseFloat(o[4]):1,[g,V,f]=ft(d,x/100,p/100);return[g,V,f,h]}const s=e.match(/^hwb\(\s*([+-]?[\d.]+)(?:deg)?\s*[, ]\s*([\d.]+)%\s*[, ]\s*([\d.]+)%\s*(?:[/]\s*(\d?(?:\.\d+)?))?\s*\)$/i);if(s){const d=parseFloat(s[1]),x=parseFloat(s[2])/100,p=parseFloat(s[3])/100,h=s[4]!=null?parseFloat(s[4]):1,[g,V,f]=Yt(d,x,p);return[g,V,f,h]}const c=e.match(/^oklch\(\s*([+-]?[\d.]+%?)\s+([\d.]+)\s+([+-]?[\d.]+)(?:deg)?(?:\s*\/\s*(\d?(?:\.\d+)?))?\s*\)$/i);if(c){const d=c[1],x=parseFloat(c[2]),p=parseFloat(c[3]),h=c[4]!=null?parseFloat(c[4]):1,g=d.endsWith("%")?Math.max(0,Math.min(1,parseFloat(d)/100)):Math.max(0,Math.min(1,parseFloat(d))),[V,f,v]=Gt(g,x,p);return[V,f,v,h]}const[u,i,m]=J(e);return[u,i,m,1]}const Zt=(e,n,l,a)=>`rgba(${Math.round(e)}, ${Math.round(n)}, ${Math.round(l)}, ${Math.max(0,Math.min(1,Math.round(a*100)/100))})`;function qt(e){let n=e+1831565813;return function(){return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}function ft(e,n,l){e=(e%360+360)%360;const a=(1-Math.abs(2*l-1))*n,r=a*(1-Math.abs(e/60%2-1)),o=l-a/2;let s=0,c=0,u=0;return 0<=e&&e<60?[s,c,u]=[a,r,0]:60<=e&&e<120?[s,c,u]=[r,a,0]:120<=e&&e<180?[s,c,u]=[0,a,r]:180<=e&&e<240?[s,c,u]=[0,r,a]:240<=e&&e<300?[s,c,u]=[r,0,a]:[s,c,u]=[a,0,r],[Math.round((s+o)*255),Math.round((c+o)*255),Math.round((u+o)*255)]}function Yt(e,n,l){e=(e%360+360)%360;const a=n+l;a>1&&(n/=a,l/=a);const[r,o,s]=ft(e,1,.5).map(d=>d/255),c=1-n-l,u=r*c+n,i=o*c+n,m=s*c+n;return[Math.round(u*255),Math.round(i*255),Math.round(m*255)]}function tt(e,n,l){e/=255,n/=255,l/=255;const a=Math.max(e,n,l),r=Math.min(e,n,l);let o=0,s=0;const c=(a+r)/2,u=a-r;if(u!==0){switch(s=c>.5?u/(2-a-r):u/(a+r),a){case e:o=(n-l)/u+(n<l?6:0);break;case n:o=(l-e)/u+2;break;default:o=(e-n)/u+4}o*=60}return[Math.round(o),Math.round(s*100),Math.round(c*100)]}function Xt(e,n,l){const[a]=tt(e,n,l),r=e/255,o=n/255,s=l/255,c=Math.min(r,o,s),u=1-Math.max(r,o,s);return[a,Math.round(c*100),Math.round(u*100)]}function Y(e){const n=e/255;return n<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function X(e){const n=e<=.0031308?12.92*e:1.055*Math.pow(e,.4166666666666667)-.055;return Math.round(Math.max(0,Math.min(1,n))*255)}function Gt(e,n,l){const a=l*Math.PI/180,r=Math.cos(a)*n,o=Math.sin(a)*n,s=e+.3963377774*r+.2158037573*o,c=e-.1055613458*r-.0638541728*o,u=e-.0894841775*r-1.291485548*o,i=s*s*s,m=c*c*c,d=u*u*u,x=4.0767416621*i-3.3077115913*m+.2309699292*d,p=-1.2684380046*i+2.6097574011*m-.3413193965*d,h=-.0041960863*i-.7034186147*m+1.707614701*d;return[X(x),X(p),X(h)]}function Qt(e,n,l){const a=Y(e),r=Y(n),o=Y(l),s=.4122214708*a+.5363325363*r+.0514459929*o,c=.2119034982*a+.6806995451*r+.1073969566*o,u=.0883024619*a+.2817188376*r+.6299787005*o,i=Math.cbrt(s),m=Math.cbrt(c),d=Math.cbrt(u),x=.2104542553*i+.793617785*m-.0040720468*d,p=1.9779984951*i-2.428592205*m+.4505937099*d,h=.0259040371*i+.7827717662*m-.808675766*d,g=Math.sqrt(p*p+h*h);let V=Math.atan2(h,p)*180/Math.PI;return V<0&&(V+=360),[x,g,V]}function W(e,n,l,a,r,o){switch(r){case"hex":if(o){const s=u=>u.toString(16).padStart(2,"0"),c=Math.max(0,Math.min(255,Math.round(a*255)));return`#${s(e)}${s(n)}${s(l)}${s(c)}`}return K(e,n,l);case"rgb":return`rgb(${e}, ${n}, ${l})`;case"rgba":return`rgba(${e}, ${n}, ${l}, ${Math.round(a*100)/100})`;case"hsl":{const[s,c,u]=tt(e,n,l);return`hsl(${s}, ${c}%, ${u}%)`}case"hsla":{const[s,c,u]=tt(e,n,l);return`hsla(${s}, ${c}%, ${u}%, ${Math.round(a*100)/100})`}case"hwb":{const[s,c,u]=Xt(e,n,l);return a<1?`hwb(${s} ${c}% ${u}% / ${Math.round(a*100)/100})`:`hwb(${s} ${c}% ${u}%)`}case"oklch":{const[s,c,u]=Qt(e,n,l),i=(Math.round(s*1e3)/1e3).toFixed(3),m=(Math.round(c*1e3)/1e3).toFixed(3),d=(Math.round(u*10)/10).toFixed(1),x=Math.round(a*100)/100;return o||a<1?`oklch(${i} ${m} ${d} / ${x})`:`oklch(${i} ${m} ${d})`}}}function P(e,n){return n?e==="rgb"?"rgba":e==="hsl"?"hsla":e:e==="rgba"?"rgb":e==="hsla"?"hsl":e}function Jt(e,n){const[l,a,r]=e,o=l<<16^a<<8^r,s=qt(o),c=6+Math.floor(s()*5),u=.18+s()*.06,i=[];for(let p=0;p<c;p++){const h=p/c*Math.PI*2,g=n*(1+(s()*2-1)*u),V=Math.cos(h)*g,f=Math.sin(h)*g;i.push({x:V,y:f})}const m=(i[0].x+i[c-1].x)/2,d=(i[0].y+i[c-1].y)/2;let x=`M ${m.toFixed(3)} ${d.toFixed(3)}`;for(let p=0;p<c;p++){const h=i[p],g=i[(p+1)%c],V=(h.x+g.x)/2,f=(h.y+g.y)/2;x+=` Q ${h.x.toFixed(3)} ${h.y.toFixed(3)} ${V.toFixed(3)} ${f.toFixed(3)}`}return x+=" Z",x}const Kt=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,displayValue:o,size:s,withAlpha:c}=e,u=t.Value.map(s??32,I=>I),i=t.Value.map(n,I=>Ht(I??"#000000")),m=t.Value.map(i,([I,y,C])=>[I,y,C]),d=t.Value.map(i,([,,,I])=>I),x=t.prop(t.Value.get(d)??1),p=t.Value.map(c??!1,I=>I),h=t.Value.map(e.colorTextFormat??"rgb",I=>I),g=t.computedOf(m,x,h,p)(([I,y,C],M,E,$)=>W(I,y,C,M??1,P(E,$),$)),V=t.Value.map(e.colorTextFormat??"hex",I=>I),f=t.Value.map(u,I=>`-${I/2} -${I/2} ${I} ${I}`),v=t.computedOf(m,u)((I,y)=>Jt(I,y/2)),k=t.computedOf(m,x,p)(([I,y,C],M,E)=>E||M<1?Zt(I,y,C,M):K(I,y,C)),_=t.html.div(t.attr.class("bc-color-input__control"),t.attr.class(t.Value.map(p,I=>I?"bc-color-input__control--alpha":"")),t.attr.style(t.computedOf(u)(I=>`min-width:${I}px;height:${I}px`)),t.svg.svg(t.attr.class("bc-color-input__svg"),t.svgAttr.viewBox(f),t.svg.path(t.svgAttr.d(v),t.svgAttr.fill(k))),t.html.input(t.attr.type("color"),b.CommonInputAttributes(e),t.attr.value(t.Value.map(m,([I,y,C])=>K(I,y,C))),t.attr.class("bc-input bc-color-input bc-color-input__native"),l!=null?t.on.blur(l):t.Empty,a!=null?t.on.change(I=>{const y=I.target.value;if(!a)return;const[C,M,E]=J(y),$=t.Value.get(x)??1,F=P(t.Value.get(V),t.Value.get(p)),D=W(C,M,E,$,F,t.Value.get(p));a(D)}):t.Empty,r!=null?t.on.input(I=>{const y=I.target.value;if(!r)return;const[C,M,E]=J(y),$=t.Value.get(x)??1,F=P(t.Value.get(V),t.Value.get(p)),D=W(C,M,E,$,F,t.Value.get(p));r(D)}):t.Empty)),w=t.When(p,()=>t.html.input(t.attr.type("range"),t.attr.class("bc-color-input__alpha"),t.attr.min(0),t.attr.max(1),t.attr.step(.01),t.attr.value(t.Value.map(x,I=>String(I??1))),t.attr.disabled(e.disabled),t.on.input(I=>{const y=parseFloat(I.target.value);x.set(y);const[C,M,E]=t.Value.get(m),$=P(t.Value.get(V),t.Value.get(p)),F=W(C,M,E,y,$,t.Value.get(p));r?.(F)}),t.on.change(I=>{const y=parseFloat(I.target.value);x.set(y);const[C,M,E]=t.Value.get(m),$=P(t.Value.get(V),t.Value.get(p)),F=W(C,M,E,y,$,t.Value.get(p));a?.(F)})));return b.InputContainer({baseContainer:!0,...e,growInput:!1,input:_,after:t.Fragment(t.When(o??!1,()=>t.html.span(t.attr.class("bc-color-input__rgb"),g)),w,e.after)})},nt="$$tts-exp-",ht=(e,n)=>t.WithElement(l=>{const a=`${nt}${e}`;return t.OnDispose(t.Value.on(n,r=>Reflect.set(l,a,r)))}),te=(e,n)=>{const l=`${nt}${e}`;return a=>{n(Reflect.get(a.target,l))}},gt=(e,n)=>{const l=`${nt}${e}`;return a=>{const r=a.target,o=r.selectedIndex,s=r.options[o];n(Reflect.get(s,l))}};function ee(e,n,l){const a=["bc-card"];return e!=="default"&&a.push(`bc-card--${e}`),n!=="md"&&a.push(`bc-card--padding-${n}`),l!=="lg"&&a.push(`bc-card--rounded-${l}`),a.join(" ")}function ne({variant:e="default",size:n="md",roundedness:l="lg"}={},...a){return t.html.div(t.attr.class(t.computedOf(e,n,l)((r,o,s)=>ee(r??"default",o??"md",s??"lg"))),...a)}function j(...e){return t.html.div(t.attr.class("bc-group"),...e)}const ae=({startEditing:e,value:n,onChange:l,placeholder:a,disabled:r})=>{const o=t.Value.deriveProp(e??!1),s=t.prop(!1),c=t.Value.map(r??!1,u=>u);return t.html.div(t.attr.class("bc-editable-text"),t.attr.class(t.Value.map(c,u=>u?"bc-editable-text--disabled":"")),t.aria.disabled(c),t.When(o,()=>t.html.input(t.attr.placeholder(a),t.attr.value(n),t.attr.class("bc-editable-text__input"),et.AutoSelect(),t.on.keydown(u=>{u.key==="Enter"?o.set(!1):u.key==="Escape"&&(s.set(!0),o.set(!1))}),t.on.blur(t.emitValue(u=>{if(o.set(!1),s.value){s.set(!1);return}l(u)}))),()=>t.html.span(t.on.click(()=>{t.Value.get(c)||o.set(!0)}),t.attr.class("bc-editable-text__display"),t.When(t.Value.map(n,u=>u!=null&&u.trim()!==""),()=>t.html.span(t.attr.class("bc-editable-text__text"),n),()=>t.html.span(t.attr.class("bc-editable-text__placeholder"),a)),t.When(t.Value.map(c,u=>!u),()=>t.html.button(t.attr.class("bc-editable-text__edit-button"),t.Use(b.BeatUII18n,u=>t.aria.label(u.$.editLabel)),t.on.click(()=>o.set(!0)),b.Icon({icon:"line-md/pencil",color:"neutral"}))))))},bt=(e,n,l)=>t.Ensure(e,a=>t.OneOfType(a,{value:r=>{const o=t.computedOf(r,l)((s,c)=>n(s.value,c));return t.html.option(t.OnDispose(o.dispose),t.attr.selected(o),ht("value",r.$.value),r.$.label)},group:r=>t.html.optgroup(t.attr.label(r.$.group),t.ForEach(r.$.options,o=>bt(o,n,l))),break:()=>t.html.hr()})),vt=e=>{const{value:n,onBlur:l,onChange:a,options:r,unselectedLabel:o,equality:s=(i,m)=>i===m,after:c}=e;let u;return b.InputContainer({...e,after:t.Fragment(b.Icon({icon:"ph:caret-down-bold",color:"neutral",size:"sm"}),c),input:t.html.select(t.WithElement(i=>{u=i;const m=new MutationObserver(d=>{const{removedNodes:x}=d[0];x.length>0&&(u.selectedIndex=0)});return m.observe(i,{childList:!0}),t.OnDispose(()=>m.disconnect())}),b.CommonInputAttributes(e),t.attr.class("bc-native-select bc-input"),t.Use(b.BeatUII18n,i=>t.html.option(t.attr.hidden("hidden"),t.coalesce(o,i.$.selectOne))),t.ForEach(r,i=>bt(i,s,n)),l!=null?t.on.blur(l):t.Empty,a!=null?t.on.change(gt("value",i=>a(i))):t.Empty)},t.on.click(()=>{u?.focus(),typeof u?.showPicker=="function"&&u.showPicker()}))};function xt(e){const{controller:n,onChange:l,onBlur:a,...r}=e;return vt({...r,value:n.value,onChange:b.makeOnChangeHandler(n,l),onBlur:b.makeOnBlurHandler(n,a)})}function re(e){return b.InputWrapper({...e,content:xt(e)})}function It(e,n,l){const a=e.length.map(r=>r);return t.Fragment(t.OnDispose(()=>a.dispose()),t.Repeat(a,r=>{const o=e.item(r.index),s=[];return t.Fragment(t.OnDispose(()=>{o.dispose(),s.forEach(c=>c())}),n({list:e,item:o,position:r,remove:()=>e.removeAt(r.index),move:c=>{switch(c){case"up":if(r.index===0)return;e.move(r.index,r.index-1);break;case"down":if(r.index===e.length.value-1)return;e.move(r.index,r.index+1);break;case"first":e.move(r.index,0);break;case"last":e.move(r.index,e.length.value-1)}},canMove:c=>{const u=(()=>{switch(c){case"up":return t.signal(r.index>0);case"down":return e.length.map(i=>r.index<i-1)}})();return s.push(()=>u.dispose()),u},cannotMove:c=>{const u=(()=>{switch(c){case"up":return t.signal(r.index===0);case"down":return e.length.map(i=>r.index===i-1)}})();return s.push(()=>u.dispose()),u}}))},l))}const ot={9:{pattern:/^[0-9]$/},A:{pattern:/^[A-Za-z]$/,transform:e=>e.toUpperCase()},"*":{pattern:/^.$/}},le=e=>e instanceof RegExp;function Vt(e,n,l){if(e==null)return[];const a=l?{...ot,...n}:n??ot,r=(s,c)=>{const u=a[c];u?s.push({type:"pattern",name:c,...u}):s.push({type:"literal",char:c})},o=[];if(typeof e=="string"){for(const s of e)r(o,s);return o}for(const s of e)if(typeof s=="string")if(s.length<=1)r(o,s);else for(const c of s)r(o,c);else le(s)?o.push({type:"pattern",pattern:s}):typeof s=="object"&&s&&o.push(s);return o}function se(e,n){return l=>{switch(e){case"digits":return/[0-9]/.test(l);case"letters":return/[A-Za-z]/.test(l);case"alphanumeric":return/[A-Za-z0-9]/.test(l);case"custom":return n?.(l)??!0;default:return!0}}}function ut(e,n,l,a,r,o){const s={raw:e,previousConformed:n,cursor:r??e.length,completed:!1},c=a.definitions??{},u=typeof l=="function"?l(e,s):l,i=Vt(u,c,a.useDefaultDefinitions??!0),m=se(a.allowMode,a.allow),d=new Set;for(const $ of i)$.type==="literal"&&d.add($.char);if(a.prefix)for(const $ of a.prefix)d.add($);if(a.suffix)for(const $ of a.suffix)d.add($);const x=Array.from(e).filter($=>m($)&&!d.has($));if(x.length===0)return{value:"",cursor:0,completed:!1};const p=[],h=[];let g=0,V=0,f=0,v=-1;for(const $ of i){if($.type==="literal"){p.push($.char),h.push({kind:"literal",filled:!0});continue}V+=$.optional?0:1;const F=x[g];if(F==null)break;if($.type==="any"){f++,p.push($.transform?$.transform(F):F),h.push({kind:"slot",filled:!0}),v=h.length-1,g++;continue}if($.type==="pattern")if($.pattern.test(F)){f++;const D=$.transform?$.transform(F):F;p.push(D),h.push({kind:"slot",filled:!0}),v=h.length-1,g++}else{g++;continue}}const k=p.join(""),_=(a.prefix??"")+k+(a.suffix??"");let I=(a.prefix??"").length;if(v>=0){let $=v+1;if((o?.policy??"smart")!=="sticky")for(;$<h.length&&h[$].kind==="literal";)$++;I+=$}const y=a.completion?.mode==="min"?(a.completion.minChars??0)<=f:a.completion?.mode==="custom"?!!a.completion.isComplete?.(_):V>0&&f>=V,C=a.pipe?.(_,{...s,completed:y});let M,E=I;return C===!1?(M=n,E=n.length):typeof C=="string"?(M=C,E=C.length):typeof C=="object"&&C?(M=C.value,E=C.cursor??C.value.length):M=_,{value:M,cursor:E,completed:y}}function oe(e,n){const l=n?.strategy??"none";return l==="custom"&&n?.unmask?n.unmask(e):l==="strip"?e.replace(/[^A-Za-z0-9]/g,""):e}const at=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,onAccept:o,onComplete:s,mask:c,definitions:u,useDefaultDefinitions:i,extraLiterals:m,prefix:d,suffix:x,autofix:p,pipe:h,completion:g,unmask:V,allowMode:f,allow:v,placeholder:k,placeholderOptions:_}=e,w=t.computedOf(n,c,u,i,m,d,x,p,g,V,f,k,_)((y,C,M,E,$,F,D,R,z,L,U,H,B)=>C?ut(y??"","",C,{definitions:M??{},useDefaultDefinitions:E??!0,extraLiterals:$??[],autofix:R??"none",completion:z??{mode:"mask"},pipe:h??(A=>A),unmask:L??{strategy:"none"},allowMode:U??"all",allow:v,prefix:F,suffix:D}).value:y??""),I=(y,C)=>{const M=y.value??"",E=t.Value.get(n)??"",$=c!=null?t.Value.get(c):null,F=u!=null?t.Value.get(u):void 0,D=i!=null?t.Value.get(i):void 0,R=m!=null?t.Value.get(m):void 0,z=p!=null?t.Value.get(p):void 0,L=g!=null?t.Value.get(g):void 0,U=V!=null?t.Value.get(V):void 0,H=f!=null?t.Value.get(f):void 0,B=d!=null?t.Value.get(d):void 0,A=x!=null?t.Value.get(x):void 0,{value:O,cursor:q,completed:rt}=$?ut(M,E,$,{definitions:F??{},useDefaultDefinitions:D??!0,extraLiterals:R??[],autofix:z??"none",completion:L??{mode:"mask"},pipe:h??(Mt=>Mt),unmask:U??{strategy:"none"},allowMode:H??"all",allow:v,prefix:B,suffix:A},y.selectionStart??M.length,e.cursor?t.Value.get(e.cursor):void 0):{value:M,cursor:M.length,completed:!0};if(O!==M){y.value=O;try{y.setSelectionRange(q,q)}catch{}}const lt=oe(O,U);o?.({raw:lt,conformed:O,completed:rt,cursor:q}),C==="input"?r?.(O):(a?.(O),rt&&s?.({raw:lt,conformed:O}))};return b.InputContainer({...e,input:t.input.text(b.CommonInputAttributes(e),t.attr.value(w),t.attr.class("bc-input"),l!=null?t.on.blur(l):t.Empty,t.WithElement(y=>y instanceof HTMLInputElement?t.Fragment(t.on.input(()=>I(y,"input")),t.on.change(()=>I(y,"change")),t.on.keydown(C=>{if(C.key!=="Backspace"||!(e.cursor?t.Value.get(e.cursor)?.backspaceRubberBand??!0:!0))return;const E=y.selectionStart??0,$=y.selectionEnd??E;if(E!==$||E<=0)return;const F=y.value??"",D=c!=null?t.Value.get(c):null;if(!D)return;const R=u!=null?t.Value.get(u):void 0,z=i!=null?t.Value.get(i):!0,L=d!=null?t.Value.get(d):void 0,U=x!=null?t.Value.get(x):void 0,H=Vt(typeof D=="function"?D(F,{raw:F,previousConformed:F,cursor:E,completed:!1}):D,R??{},z??!0),B=new Set;for(const A of H)A.type==="literal"&&B.add(A.char);if(L)for(const A of L)B.add(A);if(U)for(const A of U)B.add(A);if(B.has(F[E-1])){let A=E-1;for(;A>=0&&B.has(F[A]);)A--;A>=0&&(C.preventDefault(),C.stopPropagation(),y.value=F.slice(0,A)+F.slice(A+1),I(y,"input"))}})):t.Empty))})};function S(e,n,l){const a=t.Value.map(e,o=>o!=null),r=b.defaultMessages.clearValue;return t.When(a,()=>t.html.button(t.attr.type("button"),t.attr.class("bc-input-container__reset"),t.aria.label(r),t.attr.title(r),t.attr.disabled(n??!1),b.Icon({icon:"mdi:close",size:"sm"}),t.on.click(o=>{o.preventDefault(),o.stopPropagation(),l?.(null)})))}const ue=e=>{const{value:n,onBlur:l,onChange:a,after:r,disabled:o}=e,s=S(n,o,a);return b.InputContainer({...e,input:t.input.date(b.CommonInputAttributes(e),t.attr.valueAsDate(n),t.attr.class("bc-input"),l!=null?t.on.blur(t.emitValue(l)):t.Empty,a!=null?t.on.change(t.emitValueAsNullableDate(a)):t.Empty),after:r!=null?t.Fragment(s,r):s})},ce=e=>{const n=e.getFullYear(),l=e.getMonth()+1,a=e.getDate(),r=e.getHours(),o=e.getMinutes(),s=e.getSeconds();return`${n}-${l.toString().padStart(2,"0")}-${a.toString().padStart(2,"0")}T${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`},ie=e=>{const{value:n,onBlur:l,onChange:a,after:r,disabled:o}=e,s=t.Value.map(n,u=>u!=null?ce(u):null),c=S(n,o,a);return b.InputContainer({...e,input:t.input["datetime-local"](b.CommonInputAttributes(e),t.attr.value(t.Value.map(s,u=>u??null)),t.attr.class("bc-input"),l!=null?t.on.blur(t.emitValue(l)):t.Empty,a!=null?t.on.change(t.emitValueAsNullableDateTime(a)):t.Empty),after:r!=null?t.Fragment(c,r):c})},T=e=>typeof e=="string"&&e.trim()===""?null:e,N=e=>e??"",pe=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,after:o,disabled:s,...c}=e,u=S(n,s,a);return b.TextInput({...c,value:t.Value.map(n,N),onChange:a!=null?i=>a(T(i)):void 0,onInput:r!=null?i=>r(T(i)):void 0,onBlur:l,after:o!=null?t.Fragment(u,o):u})},de=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,after:o,disabled:s,...c}=e,u=S(n,s,a);return b.EmailInput({...c,value:t.Value.map(n,N),onChange:a!=null?i=>a(T(i)):void 0,onInput:r!=null?i=>r(T(i)):void 0,onBlur:l,after:o!=null?t.Fragment(u,o):u})},me=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,after:o,disabled:s,...c}=e,u=S(n,s,a);return b.PasswordInput({...c,value:t.Value.map(n,N),onChange:a!=null?i=>a(T(i)):void 0,onInput:r!=null?i=>r(T(i)):void 0,onBlur:l,after:o!=null?t.Fragment(u,o):u})},wt=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,rows:o}=e;return b.InputContainer({...e,input:t.html.textarea(b.CommonInputAttributes(e),t.attr.rows(o??3),t.attr.value(n),t.attr.class("bc-input"),l!=null?t.on.blur(t.emitValue(l)):t.Empty,a!=null?t.on.change(t.emitValue(a)):t.Empty,r!=null?t.on.input(t.emitValue(r)):t.Empty)})},fe=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,after:o,disabled:s,...c}=e,u=S(n,s,a);return wt({...c,value:t.Value.map(n,N),onChange:a!=null?i=>a(T(i)):void 0,onInput:r!=null?i=>r(T(i)):void 0,onBlur:l,after:o!=null?t.Fragment(u,o):u})},he=e=>{const{value:n,step:l,min:a,max:r,onBlur:o,onChange:s,onInput:c,after:u}=e,i=x=>{const p=a!=null?t.Value.get(a):void 0,h=r!=null?t.Value.get(r):void 0;return p!=null&&x<p?p:h!=null&&x>h?h:x},m=l!=null?t.Use(b.BeatUII18n,x=>{const p=t.computedOf(n,a)((f,v)=>v==null?!0:(f??0)>v),h=t.computedOf(n,r)((f,v)=>v==null?!0:(f??0)<v),g=f=>{const v=t.Value.get(n)??0,k=t.Value.get(l),_=f?.shiftKey?10:1,w=v-k*_,I=a!=null?t.Value.get(a):void 0;if(I!=null&&w<I)return;const y=i(w);y!==v&&s&&s(y)},V=f=>{const v=t.Value.get(n)??0,k=t.Value.get(l),_=f?.shiftKey?10:1,w=v+k*_,I=r!=null?t.Value.get(r):void 0;if(I!=null&&w>I)return;const y=i(w);y!==v&&s&&s(y)};return b.Stack(t.attr.class("bc-number-input-steppers"),t.html.button(t.attr.class("bc-button bc-number-input-steppers-button bc-number-input-steppers-button--increment"),t.attr.disabled(t.computedOf(h,e.disabled??!1)((f,v)=>!f||v)),t.on.click(f=>V(f)),t.aria.label(x.$.incrementValue),b.Icon({icon:"line-md:plus",size:"xs"})),t.html.button(t.attr.class("bc-button bc-number-input-steppers-button bc-number-input-steppers-button--decrement"),t.attr.disabled(t.computedOf(p,e.disabled??!1)((f,v)=>!f||v)),t.on.click(f=>g(f)),t.aria.label(x.$.decrementValue),b.Icon({icon:"line-md:minus",size:"xs"})))}):null,d=u!=null&&m!=null?t.Fragment(m,u):u??m;return b.InputContainer({...e,input:t.input.number(a!=null?t.Fragment(t.attr.min(a),t.OnDispose(t.Value.on(a,x=>{x<t.Value.get(n)}))):t.Empty,r!=null?t.Fragment(t.attr.max(r),t.OnDispose(t.Value.on(r,x=>{x>t.Value.get(n)}))):t.Empty,b.CommonInputAttributes(e),t.attr.valueAsNumber(n),t.attr.step(l),t.attr.class("bc-input bc-number-input"),o!=null?t.on.blur(t.emitValue(o)):t.Empty,s!=null?t.on.change(t.emitValueAsNumber(s)):t.Empty,c!=null?t.on.input(t.emitValueAsNumber(c)):t.Empty,l!=null?t.on.wheel(x=>{x.preventDefault();const p=t.Value.get(n)??0,h=t.Value.get(l),g=x.shiftKey?10:1,V=x.deltaY<0?h*g:-h*g,f=i(p+V);f!==p&&s&&s(f)}):t.Empty),after:d})},ct=e=>{if(e==null||e==="")return null;const n=Number(e);return Number.isNaN(n)?null:n},ge=e=>{const{value:n,step:l,min:a,max:r,onBlur:o,onChange:s,onInput:c,after:u}=e,i=p=>{const h=a!=null?t.Value.get(a):void 0,g=r!=null?t.Value.get(r):void 0;return h!=null&&p<h?h:g!=null&&p>g?g:p},m=(()=>{if(l==null)return null;const p=t.computedOf(n,a)((v,k)=>{const _=v??0;return k==null?!0:_>k}),h=t.computedOf(n,r)((v,k)=>{const _=v??0;return k==null?!0:_<k}),g=v=>{const k=t.Value.get(n)??0,_=t.Value.get(l),w=v?.shiftKey?10:1,I=k-_*w,y=a!=null?t.Value.get(a):void 0;if(y!=null&&I<y)return;const C=i(I);C!==k&&s&&s(C)},V=v=>{const k=t.Value.get(n)??0,_=t.Value.get(l),w=v?.shiftKey?10:1,I=k+_*w,y=r!=null?t.Value.get(r):void 0;if(y!=null&&I>y)return;const C=i(I);C!==k&&s&&s(C)};return((v,k)=>b.Stack(t.attr.class("bc-number-input-steppers"),t.html.button(t.attr.class("bc-button bc-number-input-steppers-button bc-number-input-steppers-button--increment"),t.attr.disabled(t.computedOf(h,e.disabled??!1)((_,w)=>!_||w)),t.on.click(_=>V(_)),t.aria.label(v),b.Icon({icon:"line-md:plus",size:"xs"})),t.html.button(t.attr.class("bc-button bc-number-input-steppers-button bc-number-input-steppers-button--decrement"),t.attr.disabled(t.computedOf(p,e.disabled??!1)((_,w)=>!_||w)),t.on.click(_=>g(_)),t.aria.label(k),b.Icon({icon:"line-md:minus",size:"xs"}))))(b.defaultMessages.incrementValue,b.defaultMessages.decrementValue)})(),d=S(n,e.disabled,s),x=u!=null&&m!=null?t.Fragment(m,d,u):u!=null?t.Fragment(d,u):m!=null?t.Fragment(m,d):d;return b.InputContainer({...e,input:t.input.number(a!=null?t.Fragment(t.attr.min(a),t.OnDispose(t.Value.on(a,p=>{}))):t.Empty,r!=null?t.Fragment(t.attr.max(r),t.OnDispose(t.Value.on(r,p=>{}))):t.Empty,b.CommonInputAttributes(e),t.attr.value(t.Value.map(n,p=>p==null?"":String(p))),t.attr.step(l),t.attr.class("bc-input bc-number-input"),o!=null?t.on.blur(t.emitValue(o)):t.Empty,s!=null?t.on.change(t.emitValue(p=>{const h=ct(p);s(h)})):t.Empty,c!=null?t.on.input(t.emitValue(p=>{const h=ct(p);c(h)})):t.Empty,l!=null?t.on.wheel(p=>{p.preventDefault();const h=t.Value.get(n)??0,g=t.Value.get(l),V=p.shiftKey?10:1,f=p.deltaY<0?g*V:-g*V,v=i(h+f);v!==h&&s&&s(v)}):t.Empty),after:x})},be=({value:e,onChange:n,offLabel:l,onLabel:a,label:r,disabled:o=!1,size:s="md",id:c,color:u="primary"})=>{const i=c??b.sessionId("switch"),m=`${i}-label`;function d(g,V){const f=["bc-switch",`bc-switch--size-${V}`,`bc-switch--${V}`];return g&&f.push("bc-switch--disabled"),f.join(" ")}function x(g){const V=g??"primary",f=new Map,v=b.backgroundValue(V,"solid","light"),k=b.backgroundValue(V,"solid","dark");return f.set("--switch-track-on-bg",v.backgroundColor),f.set("--switch-track-on-label",v.textColor),f.set("--switch-track-on-bg-dark",k.backgroundColor),f.set("--switch-track-on-label-dark",k.textColor),f.set("--switch-track-on-border-dark",b.borderColorValue(V,"dark")),Array.from(f.entries()).map(([_,w])=>`${_}: ${w}`).join("; ")}const p=()=>{t.Value.get(o)||n(!t.Value.get(e))},h=g=>{t.Value.get(o)||(g.key===" "||g.key==="Enter")&&(g.preventDefault(),p())};return t.html.div(t.attr.class(t.computedOf(o??!1,s)((g,V)=>d(g??!1,V??"md"))),t.attr.style(t.computedOf(u)(g=>x(g))),t.attr.id(i),t.attr.role("switch"),t.attr.tabindex(t.Value.map(o,g=>g?-1:0)),t.aria.checked(e),t.aria.disabled(o),t.aria.labelledby(r!=null?m:void 0),t.on.click(p),t.on.keydown(h),r!=null?b.Label(t.attr.id(m),t.attr.class(`bc-switch__label bc-switch__label--size-${s} bc-switch__label--nowrap`),r):null,t.html.div(t.attr.class("bc-switch__track"),t.attr.class(t.Value.map(e,g=>g?"bc-switch__track--on":"bc-switch__track--off")),l!=null?t.html.div(t.aria.hidden(!0),t.attr.class("bc-switch__track-label bc-switch__track-label--off"),t.attr.class(t.Value.map(e,g=>g?"bc-switch__track-label--hidden":"bc-switch__track-label--visible")),l):null,a!=null?t.html.div(t.attr.class("bc-switch__track-label bc-switch__track-label--on"),t.attr.class(t.Value.map(e,g=>g?"bc-switch__track-label--visible":"bc-switch__track-label--hidden")),a):null,et.ElementRect(g=>t.Use(b.Locale,({direction:V})=>t.html.div(t.attr.class("bc-switch__thumb"),t.attr.class(t.Value.map(e,f=>f?"bc-switch__thumb--on":"bc-switch__thumb--off")),t.style.transform(t.computedOf(e,g,s,V)((f,{width:v},k,_)=>{const w=(()=>{switch(k){case"xs":return 5;case"sm":return 5.5;case"md":return 6;case"lg":return 7;case"xl":return 8}})(),I=_==="rtl"?`calc((var(--spacing-base) * ${w}) - ${v}px)`:`calc(${v}px - (var(--spacing-base) * ${w}))`;return f?`translateX(${I})`:"translateX(0)"})))))))},yt=e=>{const n={type:"pattern",pattern:/[0-9A-Fa-f]/,transform:a=>a.toLowerCase()};return at({...e,mask:[n,n,n,n,n,n,n,n,"-",n,n,n,n,"-",n,n,n,n,"-",n,n,n,n,"-",n,n,n,n,n,n,n,n,n,n,n,n],placeholder:e.placeholder??"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"})},ve=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,after:o,disabled:s,...c}=e,u=S(n,s,a);return yt({...c,value:t.Value.map(n,N),onChange:a!=null?i=>a(T(i)):void 0,onInput:r!=null?i=>r(T(i)):void 0,onBlur:l,after:o!=null?t.Fragment(u,o):u})},xe="line-md:star-alt-filled",Ie="line-md:star-alt",_t=e=>{const{value:n,onChange:l,disabled:a,max:r=5,fullColor:o="yellow",emptyColor:s="neutral",fullIcon:c=xe,emptyIcon:u=Ie,size:i="md",onBlur:m,rounding:d=1}=e,x=()=>{const v=t.Value.get(d);return v>0?v:1},p=v=>Math.min(Math.max(v,0),t.Value.get(r)),h=(v,k)=>{if(t.Value.get(a??!1))return;const w=v.currentTarget.getBoundingClientRect(),I=(v.clientX-w.left)/w.width,y=k-1+I,C=x(),M=Math.ceil(y/C)*C,E=p(M);l?.(E)},g=v=>{if(t.Value.get(a??!1))return;const k=x(),_=t.Value.get(n)??0;let w;switch(v.key){case"ArrowRight":case"ArrowUp":w=p(_+k);break;case"ArrowLeft":case"ArrowDown":w=p(_-k);break;case"Home":w=0;break;case"End":w=t.Value.get(r);break;default:return}v.preventDefault(),l?.(w)},V=t.Value.map(i,v=>`bc-icon--${v}`),f=({index:v,counter:k})=>t.html.span(t.attr.class("bc-rating-input__icon-container"),t.attr.class(V),b.Icon({icon:u,size:i,color:s,tone:"soft"},t.attr.class("bc-rating-input__icon-empty")),t.html.span(t.attr.class("bc-rating-input__icon-clipper"),t.attr.class(V),t.style.width(t.Value.map(n,_=>{const w=Math.floor(_);return w>v?"100%":w<v?"0%":`${(_-v)*100}%`})),b.Icon({icon:c,size:i,color:o,tone:"soft"},t.attr.class("bc-rating-input__icon-full"))),t.on.click(t.emit(_=>h(_,k),{preventDefault:!0,stopPropagation:!0})));return b.InputContainer({baseContainer:!0,growInput:!1,focusableSelector:'[role="slider"]',...e,input:t.html.div(b.CommonInputAttributes(e),t.attr.class("bc-rating-input"),t.attr.role("slider"),t.attr.tabindex(t.Value.map(a??!1,v=>v?-1:0)),t.aria.disabled(a??!1),t.aria.valuemin(0),t.aria.valuemax(t.Value.map(r,v=>v??0)),t.aria.valuenow(t.Value.map(n,v=>v??0)),t.aria.valuetext(t.computedOf(n,r)((v,k)=>{const _=v??0,w=k??0;return`${String(_)} / ${String(w)}`})),t.on.keydown(g),m!=null?t.on.blur(m):null,t.Repeat(r,f))})},Ve=e=>{const{value:n,onChange:l,onBlur:a,after:r,disabled:o,...s}=e,c=S(n,o,l);return _t({...s,value:t.Value.map(n,u=>u??0),onChange:l,onBlur:a,after:r!=null?t.Fragment(c,r):c})},we=e=>{const{value:n,step:l,min:a,max:r,onBlur:o,onChange:s,onInput:c}=e;return b.InputContainer({...e,focusableSelector:'input[type="range"]',input:t.html.input(t.attr.type("range"),b.CommonInputAttributes(e),t.attr.min(a),t.attr.max(r),t.attr.step(l),t.attr.valueAsNumber(n),t.attr.class("bc-input bc-slider-input"),o!=null?t.on.blur(t.emitValueAsNumber(o)):t.Empty,s!=null?t.on.change(t.emitValueAsNumber(s)):t.Empty,c!=null?t.on.input(t.emitValueAsNumber(c)):t.Empty)})},ye=e=>{const{value:n,step:l,min:a,max:r,onBlur:o,onChange:s,onInput:c}=e,u=t.Value.map(n,m=>{if(m!=null)return m;const d=a!=null?t.Value.get(a):void 0;return typeof d=="number"?d:0}),i=S(n,e.disabled,m=>{s?.(m)});return b.InputContainer({...e,focusableSelector:'input[type="range"]',after:i,input:t.html.input(t.attr.type("range"),b.CommonInputAttributes(e),t.attr.min(a),t.attr.max(r),t.attr.step(l),t.attr.valueAsNumber(u),t.attr.class("bc-input bc-slider-input"),o!=null?t.on.blur(t.emitValueAsNumber(o)):t.Empty,s!=null?t.on.change(t.emitValueAsNumber(m=>{s(m)})):t.Empty,c!=null?t.on.input(t.emitValueAsNumber(m=>{c(m)})):t.Empty)},t.Fragment())};let G=null;async function Z(){const e=globalThis;return e.Temporal?e.Temporal:(G||(G=Promise.resolve().then(()=>require("./index.esm-DJRz9AE-.cjs")).then(n=>{const l=n.Temporal;return e.Temporal||(e.Temporal=l),l})),G)}const Ct=(e,n)=>n?t.Task(Z,{then:e,pending:n.pending,error:n.error}):t.Task(Z,e),_e=/^P(\d+([YMWD]|$)){0,4}(T(\d+([HMS]|$)){0,3})?$/i,Ce=/^P(?:(\d+Y)?(\d+M)?(\d+W)?(\d+D)?)(T(\d+H)?(\d+M)?(\d+S)?)?$/i;function kt(e){return{mask:null,allowMode:"custom",allow:n=>/[0-9ptwdhms]/i.test(n),pipe:n=>{const l=n.toUpperCase();return l.length===0?l:!l.startsWith("P")||!_e.test(l)?!1:l},completion:{mode:"custom",isComplete:n=>{const l=n.toUpperCase();if(!Ce.test(l))return!1;try{return e(l),!0}catch{return!1}}}}}const it=(e,n)=>{if(e==null)return null;try{return e.Duration.from(n)}catch{return null}},ke=e=>{const{value:n,onChange:l,after:a,disabled:r,onBlur:o}=e,s=()=>{const i=S(n,r,l);return a!=null?t.Fragment(i,a):i},c=e.placeholder!=null?t.Empty:t.attr.placeholder("P0DT0H0M0S");return Ct(i=>at({...e,value:t.Value.map(n,m=>m?.toString()??""),onChange:l?m=>l(m===""?null:i.Duration.from(m)):void 0,onInput:void 0,...kt(i.Duration.from),placeholder:"P0DT0H0M0S",after:s()}),{pending:()=>b.InputContainer({...e,input:t.input.text(b.CommonInputAttributes(e),t.attr.value(t.Value.map(n,i=>i?.toString()??"")),t.attr.class("bc-input"),c,o!=null?t.on.blur(()=>o()):t.Empty,l!=null?t.on.change(i=>{const d=i.currentTarget?.value??"";if(d===""){l(null);return}const x=globalThis.Temporal,p=it(x,d);if(p!=null){l(p);return}Z().then(h=>{const g=it(h,d);g!=null&&l(g)}).catch(()=>{})}):t.Empty),after:s()})})},$t=e=>{const{value:n,onBlur:l,onChange:a,onInput:r}=e;return b.InputContainer({...e,input:t.input.url(b.CommonInputAttributes(e),t.attr.value(n),t.attr.class("bc-input"),l!=null?t.on.blur(t.emitValue(l)):t.Empty,a!=null?t.on.change(t.emitValue(a)):t.Empty,r!=null?t.on.input(t.emitValue(r)):t.Empty)})},$e=e=>{const{value:n,onBlur:l,onChange:a,onInput:r,after:o,disabled:s,...c}=e,u=S(n,s,a);return $t({...c,value:t.Value.map(n,N),onChange:a!=null?i=>a(T(i)):void 0,onInput:r!=null?i=>r(T(i)):void 0,onBlur:l,after:o!=null?t.Fragment(u,o):u})},Me=(e,...n)=>{const{element:l,separator:a,showMove:r=!0,showRemove:o=!0,showAdd:s=!0,createItem:c,addLabel:u,controlsLayout:i="aside",...m}=e,d=t.Value.toSignal(i).map(h=>h==="aside"),x=h=>{const g=t.When(r??!1,()=>t.html.div(t.attr.class("bc-group--align-center"),t.attr.class(d.map(f=>f?"bc-group--direction-column bc-group--gap-1":"bc-group--direction-row bc-group--gap-1")),b.Button({size:"xs",roundedness:"full",variant:"text",onClick:()=>h.move("up"),disabled:h.cannotMove("up")},t.Use(b.BeatUII18n,f=>b.Icon({size:"xs",icon:"line-md:arrow-up",title:f.$.incrementValue}))),b.Button({size:"xs",roundedness:"full",variant:"text",onClick:()=>h.move("down"),disabled:h.cannotMove("down")},t.Use(b.BeatUII18n,f=>b.Icon({size:"xs",icon:"line-md:arrow-down",title:f.$.decrementValue}))))),V=t.When(o,()=>t.Use(b.BeatUII18n,f=>b.CloseButton({size:"xs",label:t.Value.map(f.$.removeItem,v=>v.toLowerCase()),color:"danger",disabled:e.removeDisabled,onClick:h.remove})));return f=>t.When(d,()=>j(t.attr.class("bc-group--gap-1 bc-group--align-center"),b.Stack(t.attr.class("bc-stack--grow"),f),b.Stack(t.attr.class("bc-stack--align-center"),t.When(e.controller.value.map(v=>v.length>1),()=>g),V)),()=>b.Stack(t.attr.class("bc-stack--gap-2"),f,j(t.attr.class("bc-group--gap-2 bc-group--justify-between"),t.When(e.controller.value.map(v=>v.length>1),()=>g,()=>t.html.div()),V)))},p=t.When(t.computedOf(s,c)((h,g)=>h&&g!=null),()=>j(t.attr.class("bc-group--gap-2 bc-group--align-center bc-group--justify-center"),b.Button({size:"sm",variant:"filled",onClick:()=>m.controller.push(c()),disabled:t.computedOf(m.controller.disabled,e.addDisabled??!1)((h,g)=>h||g)},t.Use(b.BeatUII18n,h=>j(t.attr.class("bc-group--gap-2"),b.Icon({icon:"line-md:plus"}),u??h.$.addLabel)))));return b.InputWrapper({...m,content:b.Stack(t.attr.class("bc-stack--gap-2"),It(m.controller,h=>x(h)(l(h)),a),p)},...n)};class Ee extends b.Controller{branches;activeBranch;#e;#t=new Map;constructor(n,l,a,r,o,s,c=b.O){super(n,l,a,r,o,c),this.branches=s;const u=m=>{for(const d of s)if(d.detect(m))return d.key;return s[0]?.key??"unknown"};this.activeBranch=a.map(u,b.O);const i=m=>{if(this.#t.has(m))return this.#t.get(m);const d=s.find(p=>p.key===m);if(!d)throw new Error(`Unknown branch: ${m}`);const x=new b.Controller([...n,m],p=>{this.change(p)},a.map(p=>d.detect(p)?p:d.defaultValue(),c),r.map(b.makeMapValidation([m])),{disabled:this.disabled,validationMode:this.parent.validationMode},c);return this.#t.set(m,x),x};this.#e=this.activeBranch.map(m=>i(m),b.O),this.onDispose(()=>{for(const m of this.#t.values())m.dispose();this.#t.clear(),this.activeBranch.dispose(),this.#e.dispose()})}get activeController(){return t.Value.get(this.#e)}getBranchController(n){const l=this.branches.find(r=>r.key===n);if(!l)throw new Error(`Unknown branch: ${n}`);if(this.#t.has(n))return this.#t.get(n);const a=new b.Controller([...this.path,n],r=>{this.change(r)},this.value.map(r=>l.detect(r)?r:l.defaultValue(),b.O),this.status.map(b.makeMapValidation([n])),{disabled:this.disabled,validationMode:this.parent.validationMode},b.O);return this.#t.set(n,a),a}switchToBranch(n,l=!1){const a=this.branches.find(s=>s.key===n);if(!a)throw new Error(`Unknown branch: ${n}`);const r=t.Value.get(this.value);if(a.detect(r))return!0;if(a.convert){const s=a.convert(r);if(s.ok)return this.change(s.value),!0}if(l&&typeof window=="object"&&typeof window.confirm=="function"&&!window.confirm("Changing type will clear the current value. Continue?"))return!1;const o=a.defaultValue();return this.change(o),!0}get activeBranchDefinition(){const n=t.Value.get(this.activeBranch);return this.branches.find(l=>l.key===n)}}function Fe(e){return e.transform(n=>n??null,n=>n??void 0)}function Ae(e){return e.transform(n=>n??"",n=>n===""?void 0:n)}function De(e){return e.transform(n=>n??void 0,n=>n??null)}function Te(e){switch(e){case"success":return"material-symbols:check-circle-outline";case"warning":return"material-symbols:warning-outline";case"danger":return"material-symbols:error-outline";case"info":default:return"material-symbols:info-outline"}}function Se(e){switch(e){case"success":return"success";case"warning":return"warning";case"danger":return"danger";case"info":default:return"info"}}function Be(e,n,l,a){const r=["bc-notice",`bc-notice--${e}`,`bc-notice--tone-${n}`];return l&&r.push("bc-notice--dismissible"),a&&a.length>0&&r.push(a),r.join(" ")}function Ue({variant:e="info",tone:n="subtle",role:l,title:a,icon:r,closable:o=!1,onDismiss:s,class:c},...u){const i=t.Value.map(o,g=>!!g||s!=null),m=t.Value.map(e,g=>g??"info"),d=t.Value.map(n,g=>g??"subtle"),x=t.computedOf(l,m)((g,V)=>g??(V==="danger"?"alert":"status")),p=t.prop(!0),h=t.Use(b.BeatUII18n,g=>t.html.div(t.attr.class(t.computedOf(m,d,i,c)((V,f,v,k)=>Be(V,f,v,k))),t.attr.role(t.Value.map(x,V=>V)),t.Unless(t.Value.map(r,V=>V===!1),()=>t.html.div(t.attr.class("bc-notice__icon"),b.Icon({icon:t.computedOf(r,m)((V,f)=>V===void 0?Te(f):String(V)),size:"md",color:t.Value.map(m,Se)}))),t.html.div(t.attr.class("bc-notice__body"),t.Ensure(a,V=>t.html.div(t.attr.class("bc-notice__title"),V)),t.html.div(t.attr.class("bc-notice__content"),...u)),t.When(i,()=>b.CloseButton({size:"xs",label:g.$.closeModal,onClick:()=>{p.set(!1),s?.()}}))));return t.When(p,()=>h)}exports.Base64Input=jt;exports.Base64sInput=mt;exports.BaseNativeSelectControl=xt;exports.Card=ne;exports.ColorInput=Kt;exports.EditableText=ae;exports.Expando=ht;exports.FilesInput=pt;exports.Group=j;exports.ListControl=Me;exports.ListInput=It;exports.MaskInput=at;exports.NativeSelect=vt;exports.NativeSelectControl=re;exports.Notice=Ue;exports.NullableDateInput=ue;exports.NullableDateTimeInput=ie;exports.NullableDurationInput=ke;exports.NullableEmailInput=de;exports.NullableNumberInput=ge;exports.NullablePasswordInput=me;exports.NullableRatingInput=Ve;exports.NullableResetAfter=S;exports.NullableSliderInput=ye;exports.NullableTextArea=fe;exports.NullableTextInput=pe;exports.NullableUUIDInput=ve;exports.NullableUrlInput=$e;exports.NumberInput=he;exports.RatingInput=_t;exports.SegmentedInput=Nt;exports.SliderInput=we;exports.Switch=be;exports.TextArea=wt;exports.UUIDInput=yt;exports.UnionController=Ee;exports.UnstyledDropZone=Q;exports.UrlInput=$t;exports.WithTemporal=Ct;exports._t=St;exports.durationMaskConfig=kt;exports.emitExpando=te;exports.emitOptionExpando=gt;exports.emptyToNull=T;exports.ensureTemporal=Z;exports.fileToBase64=dt;exports.gt=Dt;exports.nullToEmpty=N;exports.transformEmptyStringToUndefined=Ae;exports.transformNullToUndefined=Fe;exports.transformUndefinedToNull=De;